【问题标题】:Cannot install npm package anymore无法再安装 npm 包
【发布时间】:2013-12-10 18:08:13
【问题描述】:

我现在有点绝望。我开始使用 npm 和 grunt 来改进我的开发工作流程。直到今天一切都很好。突然无法再安装 npm-packages。我总是收到以下错误消息:

0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node',
1 verbose cli   '/usr/local/bin/npm',
1 verbose cli   'install',
1 verbose cli   'grunt-targethtml' ]
2 info using npm@1.3.14
3 info using node@v0.10.22
4 error Error: Invalid version: "2.5"
4 error     at Object.module.exports.fixVersionField (/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/fixer.js:180:13)
4 error     at /usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/normalize.js:29:38
4 error     at Array.forEach (native)
4 error     at normalize (/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/normalize.js:28:15)
4 error     at final (/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:310:33)
4 error     at then (/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:124:33)
4 error     at /usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:299:40
4 error     at fs.js:266:14
4 error     at /usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:103:5
4 error     at Object.oncomplete (fs.js:107:15)
5 error If you need help, you may report this log at:
5 error     <http://github.com/isaacs/npm/issues>
5 error or email it to:
5 error     <npm-@googlegroups.com>
6 error System Linux 3.2.0-57-generic
7 error command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "grunt-targethtml"
8 error cwd /home/ch/web-app
9 error node -v v0.10.22
10 error npm -v 1.3.14
11 verbose exit [ 1, true ]

我没有修改设置。 Linux 今天只做了一些更新。这是自昨天以来已更改的所有内容,但没有关于 node 或 npm 的更新。此外,我在网上找不到有关此错误的任何信息。

【问题讨论】:

  • 您似乎在命令或 package.json 中提到了不正确的版本 2.5。它必须是x.y.z。你能发布你的 package.json 吗?
  • @user568109 是的,你是对的,这就是问题所在。我将版本更改为 2.5.0

标签: node.js gruntjs npm


【解决方案1】:

您使用的版本号不符合semantic versionning 约定npm 使用:您需要指定MAJOR.MINOR.PATCH 版本号。

您可以:

  1. 使用0.2.x 表示法指定您不关心您使用的补丁版本,只要major.minor 匹配即可
  2. 使用~0.2.0 表示法指定您不关心您使用的补丁版本,只要major.minor 匹配即可
  3. 阅读npm's documentation 和semver's documentation 了解其他可能性...

【讨论】:

    【解决方案2】:

    grunt-targethtml 最新版本为0.2.6,可能您正在使用v0.2.5。您能否更新您的package.json,以包含grunt-targethtml 的版本0.2.5?

    【讨论】:

      猜你喜欢
      • 2023-02-22
      • 1970-01-01
      • 2017-12-12
      • 1970-01-01
      • 1970-01-01
      • 2016-09-19
      • 2016-11-29
      相关资源
      最近更新 更多