json - NPM 传递的 package.json 抛出错误

标签 json node.js npm package bower

我已经创建了一个 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/

相关文章:

json - WCF 和 JSON 绑定(bind)

node.js - Action 必须是普通对象。使用自定义中间件进行异步操作。如何解决这个问题

node.js - Knex : Timeout acquiring a connection

sql - 生成带有列值的 json 作为 json 字典键

javascript - 是否可以从 JSON 响应中生成一个 simple_form 字段?

python - 使用 Python 和 Psycopg2 将 JSON 数据文件导入 PostgreSQL

node.js - 更新 Mongoose 中符合条件的数组

node.js - 安装 AWS Amplify CLI 时出错

node.js - 抛出新的 TypeError ('The super constructor to "inherits"must not ' +

node.js - Angular 2 服务中的 Node-Forge 导入