n8n 社区节点安装报错解决办法

n8n 社区节点安装报错解决办法

今天重启 n8n 后,发现安装的 n8n-nodes-wechat-offiaccount 节点莫名实效了,提示重新安装,然而按照提示重新安装又出现如下报错:

The specified package could not be loaded Cause: Class could not be found. Please check if the class is named correctly.

搜索了一下发现很多人都遇到了类似的问题,不只是 n8n-nodes-wechat-offiaccount,还有其他社区节点比如 n8n-nodes-feishu-lite 也会出现类似问题。

解决方案

首先需要确定 n8n 的 /home/node/.n8n 目录被映射到哪个目录。

如果是本地目录可直接进入该目录将目录下的 nodes 目录,直接将其中的 package.jsonnode_modules 目录删除。

如果是 Docker 的命名卷但是又没有映射到本地目录,可以通过命令或 GUI 自带的命令行进入容器,然后按照以下步骤:

cd /home/node/.n8n/nodes
rm -rf package.json node_modules

记住上述步骤全部做完后一定需要重启 n8n 服务,然后再重新安装节点。

原因

看到有推测说是 n8n-nodes-puppeteer 和某些节点冲突导致的,我确实也安装了 n8n-nodes-puppeteer

不过该评论给出的解决方案并无法奏效,他是卸载了 n8n-nodes-puppeteer,重启即可。我这边尝试了还是必须删除 nodes 目录下的 package.jsonnode_modules 才能解决。看了下卸载 n8n-nodes-puppeteernodes 目录下改依赖对应的 package.jsonnode_modules 还是存在的,也许手动 npm uninstall 后重启也可以解决。