如何使用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来解决这个问题。

链接地址: http://www.djcxy.com/p/33011.html

上一篇: How do I resolve "Cannot find module" error using Node.js?

下一篇: np.isnan on arrays of dtype "object"