解决问题:

1.在可视化界面,执行const iconv = require('iconv-lite');,报Cannot find module 'iconv-lite' [line 2]错误;

查看module的路径

进入docker容器

#docker exec -it n8n /bin/sh

构建一个test.js,并写入如何代码

vi test.js

console.log(module.paths)

执行test.js

#node test.js

发现没有node_modules,则创建node_modules文件夹

  • 安装iconv-lite

  • #cd /home/node/.n8n

    #npm install iconv-lite

  • 验证iconv-lite是否安装成功

  • 创建一个新的 JavaScript 文件,例如 test-iconv-lite.js,并在其中编写一些简单的代码来测试 iconv-lite
// 引入 iconv-lite 模块
const iconv = require('iconv-lite');

// 示例字符串
const text = "Hello World!";

// 将字符串编码为 Buffer 使用 'win1251' 编码
const encodedBuffer = iconv.encode(text, 'win1251');
console.log("Encoded buffer:", encodedBuffer);

// 将 Buffer 解码回字符串
const decodedText = iconv.decode(encodedBuffer, 'win1251');
console.log("Decoded text:", decodedText);

运行测试脚本 node test-iconv-lite.js

 在可视化界面进行验证

报Cannot find module 'iconv-lite' [line 2]

原因:在docker run运行时,需要加“-e NODE_FUNCTION_ALLOW_EXTERNAL=iconv-lite” 才行,再执行,效果如下图:

Logo

更多推荐