我已经创建了一个 NPM 包并安装它来测试它。使用 npm install
在嵌套的 node_modules 文件夹中安装 GruntJS 的依赖项时,NPM/Node 会引发 ENOENT 错误。
我采取以下步骤来创建错误:
npm 安装馆
cd node_modules/pavilion
npm 安装
安装 package.json 中列出的 Grunt 依赖项时...它会抛出如下错误。 附言。请继续阅读下文。
npm ERR! Darwin 14.5.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v5.0.0
npm ERR! npm v3.8.6
npm ERR! path /Users/Baasdesign/Desktop/test/node_modules/pavilion/node_modules/.staging/pavilion-8a19d0be
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall rename
npm ERR! enoent ENOENT: no such file or directory, rename '/Users/Baasdesign/Desktop/test/node_modules/pavilion/node_modules/.staging/pavilion-8a19d0be' -> '/Users/Baasdesign/Desktop/test/node_modules/pavilion'
npm ERR! enoent ENOENT: no such file or directory, rename '/Users/Baasdesign/Desktop/test/node_modules/pavilion/node_modules/.staging/pavilion-8a19d0be' -> '/Users/Baasdesign/Desktop/test/node_modules/pavilion'
npm ERR! enoent This is most likely not a problem with npm itself
npm ERR! enoent and is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! Darwin 14.5.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v5.0.0
npm ERR! npm v3.8.6
npm ERR! path npm-debug.log.575049388
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall open
npm ERR! enoent ENOENT: no such file or directory, open 'npm-debug.log.575049388'
npm ERR! enoent ENOENT: no such file or directory, open 'npm-debug.log.575049388'
npm ERR! enoent This is most likely not a problem with npm itself
npm ERR! enoent and is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! Please include the following file with any support request:
npm ERR! /Users/Baasdesign/Desktop/test/node_modules/pavilion/npm-debug.log
现在是奇怪的部分。当我使用 Bower 安装软件包时...我没有收到错误消息。这是我的步骤:
bower 安装 bower
cd Bower_components/pavilion
npm 安装
一切安装正常。区别? ---> package.json。 Bower install package.json 可以找到。 NPM 则不然。
Bower 给了我一个干净的 package.json,它是我在发布到 npm 之前创建的。 NPM install 为我提供了一个 package.json,其中包含更多信息。当我使用 Bower package.json 时...一切都安装得很好...即使我在 node_modules 文件夹中粘贴并替换 npm package.json 时也是如此。
这是怎么回事?看来 npm install 提供的 package.json 搞乱了依赖安装。
这是 Bower package.json 交付: http://pastebin.com/g8FgSDNG
这是 npm package.json 交付: http://pastebin.com/xTiQ15ih
我尝试过npm cache clean
,但没有成功。
系统信息:
- OSX 优胜美地
- Node - 5.10.1
- npm - 3.8.6
最佳答案
Node 很出色,但有时也很痛苦!
我最近自己也遇到了这个错误,对我来说,回滚到早期版本的 Node 解决了我的问题。
我建议您尝试早期安装,您可以使用“Node 版本管理器”在系统上安装几个 Node 版本,它提供了在版本之间切换的方法。
我知道这不是一个非常技术性的答案,我希望有人对您的问题有具体的答案!
[https://github.com/creationix/nvm]
这是版本管理器链接希望它有帮助
关于json - NPM 传递的 package.json 抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36511074/