点赞 + 关注 + 收藏 = 学会了
整理了一个n8n小专栏,有兴趣的工友可以关注一下 👉 《n8n修炼手册》
不管是在电脑还是 NAS 通过 Docker 部署 n8n,环境变量没配置好的话,使用Read/Write Files from Disk节点「读取本地本地」或者「保存文件到本地」,有可能出现这个报错。
这是Docker + n8n 文件系统权限/路径隔离的经典问题,不是 n8n 节点用错,而是容器只能访问被允许的目录。
⚠️⚠️⚠️
想解决这个问题,首先要将你 n8n 上已有的工作流等数据找个地方保存好。因为要改环境变量,有可能会丢失数据。
⚠️⚠️⚠️
在电脑用 Docker 部署
打开 Docker,首先要在 Containers 里删掉部署好的 n8n。
然后到 Images,假设你没删掉 n8n 镜像的话,重新点击一下运行按钮。
删掉镜像了就重新拉一遍吧。可以参考《『n8n』环境搭建》
点击运行按钮后,需要添加在 Volumes 里添加一项(下图红框)。
在你的电脑,找个位置创建要给文件夹。
- 上图红框的
Host path这项就填入你在电脑创建的文件夹的绝对路径。 Container path这项填入/home/node/.n8n-files,必须是这个值!一个字一个符号都不能少!
然后点击“Run”按钮(弹窗右下角蓝色底色那个按钮)。
之后再浏览器输入localhost:5678就能运行 n8n 了。
接下来使用Read/Write Files from Disk节点读写文件,都是指向你刚刚在电脑创建的那个文件夹。
比如我的/home/node/.n8n-files指向了文稿/n8n-data这个文件夹,里面有一个hello.txt文件。
在 n8n 里使用Read/Write Files from Disk节点时,File(s) Selector项需要这么写:
/home/node/.n8n-files/hello.txt可以看到文件读取成功了。
记住记住!用法是这样的,别问为什么⬇️⬇️⬇️
/home/node/.n8n-files/文件名.后缀在绿联 NAS 部署
如果你是在 NAS 上部署 n8n,通常使用 Docker 部署的吧~
不管你是用群晖还是其他牌子的NAS,如果使用新建项目,用是yaml拉镜像。
services: n8n: image: n8nio/n8n:latest # 为了汉化成功,这里需要指定镜像版本号 container_name: n8n ports: - 5678:5678 volumes: - n8n:/home/node/.n8n # 冒号前面映射n8n文件夹绝对路径 - n8n-files:/home/node/.n8n-files # 冒号前面映射n8n-files文件夹绝对路径 restart: unless-stopped那么yaml的代码必须在volumes里加一项- n8n-files:/home/node/.n8n-files。冒号前面的n8n-files是允许 n8n 读写文件的文件夹的绝对路径。
如果你是使用《『NAS』不止娱乐,NAS也是生产力,在绿联部署AI工作流工具-n8n》里提到的方法,在 Docker 的「镜像」模块里搜索 n8n 下载部署的话,需要这么做。
我用绿联 NAS 举例,其他品牌的 NAS 操作方法大同小异。
在 Docker 的「容器」里找到 n8n,停止运行。
然后编辑它。
在 NAS 的「文件管理」里创建一个文件夹,用来给 n8n 读写文件使用的。
然后在「编辑容器」的「存储空间」里添加一项/home/node/.n8n-files指向那个文件夹,提供“读写”权限,如下图红框所示。
点击“保存”按钮,然后运行项目。
我在 NAS 的n8n-files文件夹里准备了一个雷猴世界.txt文件。
在 n8n 里,使用/home/node/.n8n-files/雷猴世界.txt这个路径就能读取到上面这个文件了。
同样,也是这个格式:
/home/node/.n8n-files/文件名.后缀以上就是本文的全部内容啦,想了解更多n8n玩法欢迎关注《n8n修炼手册》👏
如果你有 NAS,我非常建议你在 NAS 上部署一套 n8n,搞搞副业也好,帮你完成工作任务也好 《『NAS』不止娱乐,NAS也是生产力,在绿联部署AI工作流工具-n8n》
点赞 + 关注 + 收藏 = 学会了