强制手动安装npm模块

时间:2015-08-07 22:00:33

标签: node.js npm gulp

我在通过标准npm install为项目安装节点模块时遇到了问题(虽然我的设置忽略了package.json或依赖项的依赖性)。

我不得不手动npm install [filename] -g每个包裹。到目前为止,我已经做到了,但是我已经安装了一个拥有数百个软件包的存储库,而且它已经不再适用了。

熟悉的错误......

module.js:338
throw err;
      ^
Error: Cannot find module 'lodash'
    at Function.Module._resolveFilename (module.js:336:15)

我不知道如何自行修复,所以任何帮助都会受到赞赏!

(如果它有助于运行OS X Yosemite我通过nodejs.org pkg安装Brew和Node的所有内容)

-M

1 个答案:

答案 0 :(得分:0)

我遇到过这个问题。由于某些原因,它往往在Mac OS下更常发生。另一个原因可能是互联网连接不良

问题来自以下事实:当某些文件(“package.json”除外)无法下载时,NPM不会将存储库标记为失败。导致无法正常工作的代码集。

您有机会让整个repo树工作,只需删除所有内容并重新安装。但是,如果树足够大并且错误率很高,则整个模块树成功的可能性很小。

因此,唯一的解决方法(我必须自己完成)是手动遍历所有依赖项并找到丢失的依赖项。通常问题是下载了package.json依赖项,但缺少其他文件(实际脚本)。在这种情况下,您必须删除该文件夹并重新运行npm i一级。这是艰苦而不愉快的工作