我正在努力学习 node.js,并且正在尝试 the imap and mailparser sample code found here 。我根据各自 github 页面上的自述文件中的说明安装了 imapmailparser,一切都安装得很好,没有任何错误。尝试运行示例代码时,出现以下错误:
Error: Cannot find module 'iconv'
安装模块后,我的项目目录结构如下所示:

~/ProjectDir
    |
    -- node_modules
    |   |
    |   -- imap
    |   |   |
    |   |   -- LICENSE
    |   |   -- README.md
    |   |   -- imap.js
    |   |   -- package.json
    |   -- mailparser
    |   |   |
    |   |   -- lib
    |   |   |   |
    |   |   |   -- datetime.js
    |   |   |   -- mailparser.js
    |   |   |   -- streams.js
    |   |   -- node_modules
    |   |   |   |
    |   |   |   -- iconv
    |   |   |   |   ...
    |   |   |   -- mimelib
    |   |   |   |   ...
    |   |   -- test
    |   |   |   ...
    |   |   -- LICENSE
    |   |   -- README.md
    |   |   -- package.json
    |   |       ...
    |   -- config.json
    |   -- mailFether.js
    |   -- readme.md

所以,基于我为这个问题所做的一些谷歌搜索,我注意到这个“找不到模块”错误似乎是一个相当普遍的错误,但我已经能够看到一个一致的解决方案问题。

这里的问题是 node_modules 文件夹中嵌套的 mailparser 目录吗?该文件夹的内容是否应该在项目根目录的 node_modules 文件夹中?这是项目设置问题还是环境问题?

最佳答案

只需尝试安装 iconv 模块:npm install iconv - 并查看此命令的输出,iirc iconv 构建一个二进制文件,这在某些情况下可能会失败,然后我们应该找出它失败的原因 - 但在这种情况下只能提供帮助如果您提供安装命令的输出。



不,没关系,这就是 npm 的工作方式。模块的所有依赖项都存储在嵌套的 node_module 文件夹中。

关于Node.js 邮件解析器模块错误 : Cannot find module 'iconv' ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10654772/

10-11 23:44