我正在努力学习 node.js,并且正在尝试 the imap and mailparser sample code found here 。我根据各自 github 页面上的自述文件中的说明安装了 imap 和 mailparser,一切都安装得很好,没有任何错误。尝试运行示例代码时,出现以下错误: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/