2

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

如何直接从 GitHub 安装 npm 包?

但是,一旦我添加“-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”并且它起作用了。

我现在的问题是

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

4

1 回答 1

3

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

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

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

于 2013-07-07T07:19:30.457 回答