如何使用Node.js解决“无法找到模块”错误?
从GitHub中拉下一个模块并按照指示构建它之后,我尝试使用以下命令将其拉入现有项目中:
> npm install ../faye
这看起来有诀窍:
> npm list
/home/dave/src/server
└─┬ faye@0.7.1
├── cookiejar@1.3.0
├── hiredis@0.1.13
└── redis@0.7.1
但Node.js找不到该模块:
> node app.js
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Cannot find module 'faye'
at Function._resolveFilename (module.js:334:11)
at Function._load (module.js:279:25)
at Module.require (module.js:357:17)
at require (module.js:368:17)
at Object.<anonymous> (/home/dave/src/server/app.js:2:12)
at Module._compile (module.js:432:26)
at Object..js (module.js:450:10)
at Module.load (module.js:351:31)
at Function._load (module.js:310:12)
at Array.0 (module.js:470:10)
我真的很想明白这里发生了什么,但是我在接下来的位置上有点不知所措。 有什么建议么?
使用npm install
将模块安装到当前目录中(在名为node_modules
的子目录中)。 app.js位于home/dave/src/server/
吗? 如果没有,并且您想从任何目录使用该模块,则需要使用npm install -g
全局安装它。
我通常在本地安装大部分软件包,以便他们与我的项目代码一起签入。
更新(3/2016):
我收到了很多响应,特别是我检查了我的代码所依赖的软件包。 几天前,有人没有发布他们所有的软件包(https://medium.com/@azerbike/i-ve-just-liberated-my-modules-9045c06be67c#.kq9s64clp),这打破了React,Babel以及几乎所有的软件包其他。 希望现在很清楚,如果你有生产代码,你不能依靠NPM实际上为你维护你的依赖关系。
我有一个非常类似的问题。 删除整个node_modules
文件夹并重新安装对我node_modules
:
rm -rf node_modules
npm install
npm install --save module_name
例如,如果错误是:
{[错误:找不到模块'/root/.npm/form-data']代码:'MODULE_NOT_FOUND'}
那么你可以通过执行命令npm install --save form-data
来解决这个问题。
上一篇: How do I resolve "Cannot find module" error using Node.js?