【问题标题】:nodejs npm unable to install globally from github URLnodejs npm 无法从 github URL 全局安装
【发布时间】:2013-07-07 15:19:30
【问题描述】:

我可以使用 git URL 在本地安装

How to install an npm package from GitHub directly?

但是,一旦我添加“-g”标志 - 它就会失败。

这是整个日志

guym@guym-ubuntu:~/dev_env/projects_GIT/cosmo/gs-tmp$ sudo npm -g install git://github.com/visionmedia/express.git
npm http GET https://registry.npmjs.org/connect/2.8.3
npm http GET https://registry.npmjs.org/commander/1.2.0
npm http GET https://registry.npmjs.org/range-parser/0.0.4
npm http GET https://registry.npmjs.org/mkdirp/0.3.5
npm http GET https://registry.npmjs.org/cookie/0.1.0
npm http GET https://registry.npmjs.org/buffer-crc32/0.2.1
npm http GET https://registry.npmjs.org/fresh/0.1.0
npm http GET https://registry.npmjs.org/methods/0.0.1
npm http GET https://registry.npmjs.org/cookie-signature/1.0.1
npm http GET https://registry.npmjs.org/send/0.1.2
npm http GET https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/connect/2.8.3
npm http 304 https://registry.npmjs.org/range-parser/0.0.4
npm WARN package.json range-parser@0.0.4 No repository field.
npm http 304 https://registry.npmjs.org/cookie/0.1.0
npm http 304 https://registry.npmjs.org/commander/1.2.0
npm http 304 https://registry.npmjs.org/mkdirp/0.3.5
npm http 304 https://registry.npmjs.org/buffer-crc32/0.2.1
npm http 304 https://registry.npmjs.org/fresh/0.1.0
npm WARN package.json fresh@0.1.0 No repository field.
npm http 304 https://registry.npmjs.org/methods/0.0.1
npm WARN package.json methods@0.0.1 No repository field.
npm WARN package.json methods@0.0.1 No readme data.
npm http 304 https://registry.npmjs.org/cookie-signature/1.0.1
npm WARN package.json cookie-signature@1.0.1 No repository field.
npm http 304 https://registry.npmjs.org/send/0.1.2
npm http 304 https://registry.npmjs.org/debug
npm http GET https://registry.npmjs.org/mime
npm http GET https://registry.npmjs.org/keypress
npm http GET https://registry.npmjs.org/qs/0.6.5
npm http GET https://registry.npmjs.org/formidable/1.0.14
npm http GET https://registry.npmjs.org/bytes/0.2.0
npm http GET https://registry.npmjs.org/uid2/0.0.2
npm http GET https://registry.npmjs.org/pause/0.0.1
npm http 304 https://registry.npmjs.org/mime
npm http 304 https://registry.npmjs.org/keypress
npm http 304 https://registry.npmjs.org/qs/0.6.5
npm http 304 https://registry.npmjs.org/bytes/0.2.0
npm WARN package.json bytes@0.2.0 No repository field.
npm http 304 https://registry.npmjs.org/formidable/1.0.14
npm http 304 https://registry.npmjs.org/uid2/0.0.2
npm http 304 https://registry.npmjs.org/pause/0.0.1
npm WARN package.json uid2@0.0.2 No repository field.
npm WARN package.json uid2@0.0.2 No readme data.
npm WARN package.json pause@0.0.1 No repository field.
/usr/bin/express -> /usr/lib/node_modules/express/bin/express
npm WARN package.json cli-table@0.2.0 No repository field.
npm WARN package.json cheerio-select@0.0.3 No repository field.
npm WARN package.json github-url-from-git@1.1.1 No repository field.
npm WARN package.json assert-plus@0.1.2 No repository field.
npm WARN package.json ctype@0.5.2 No repository field.
npm WARN package.json eyes@0.1.8 No repository field.
npm ERR! peerinvalid The package generator-karma does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer generator-angular@0.3.0 wants generator-karma@~0.3.0
npm ERR! peerinvalid Peer generator-express-angular@0.2.4 wants generator-karma@~0.2.0

npm ERR! System Linux 3.8.0-23-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "-g" "install" "git://github.com/visionmedia/express.git"
npm ERR! cwd /home/guym/dev_env/projects_GIT/proj/somename
npm ERR! node -v v0.10.10
npm ERR! npm -v 1.2.25
npm ERR! code EPEERINVALID
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /home/guym/dev_env/projects_GIT/proj/somane/npm-debug.log
npm ERR! not ok code 0

编辑:

似乎EPEERINVALID 错误与我一直试图完成的事情无关。我全局卸载了“generaotr-express-angular”和“generator-angular”,它工作正常。

我现在的问题是

为什么这个不相关的问题会影响到我?如何避免?

【问题讨论】:

    标签: node.js npm


    【解决方案1】:

    尽管它失败了,但从外观上看,Express 仍然安装了。

    NPM 失败的原因是它对本地安装的模块执行完整性检查,并且由于无效的对等依赖关系而导致检查失败(解释为 here)。该问题可能与 Express 没有直接关系,但 NPM 并不知道这一点,因此我认为它会假定该问题可能会导致问题,并且需要解决该问题。我还认为您将安装的 任何 软件包,而不仅仅是 Express,都会触发相同的错误。

    正如您已经发现的那样,删除有问题的软件包可以解决问题(另一个解决方案可能是更新它们,前提是更新的版本可以解决问题)。他们最初是如何安装的,我不知道。也许他们安装了一个 NPM 版本,还没有对等依赖解析。

    【讨论】:

      猜你喜欢
      • 2020-10-23
      • 2015-03-25
      • 2020-12-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-18
      • 2018-05-25
      • 2015-05-31
      • 1970-01-01
      相关资源
      最近更新 更多