Ubuntu 遇到 npm install 不能正常退出
发布于 2年前 作者 jiyinyiyong 1400 次浏览

Ubuntu 12.10 , 运行 npm 结尾就没停下来. 很奇怪 于是打了个 --verbose, 结尾是这个样子的 没 Google 到用例, 有同学知道么? 给点提醒?

npm verb readInstalled returning lockfile[@0](/user/0).3.0
npm verb readInstalled returning retry[@0](/user/0).6.0
npm verb readInstalled returning once[@1](/user/1).1.1
npm verb readInstalled returning npmconf[@0](/user/0).0.23
npm verb readInstalled returning opener[@1](/user/1).3.0
npm verb readInstalled returning chmodr[@0](/user/0).1.0
npm verb readInstalled returning sigmund[@1](/user/1).0.0
npm verb readInstalled returning mute-stream[@0](/user/0).0.3
npm verb readInstalled returning fstream-ignore[@0](/user/0).0.6
npm verb readInstalled returning couch-login[@0](/user/0).1.15
npm verb readInstalled returning promzard[@0](/user/0).2.0
npm verb readInstalled returning config-chain[@1](/user/1).1.5
npm verb readInstalled returning proto-list[@1](/user/1).2.2
npm verb readInstalled returning cssom[@0](/user/0).2.5
npm verb readInstalled returning mkdirp[@0](/user/0).3.5
npm verb readInstalled returning debug[@0](/user/0).7.2
npm verb readInstalled returning commander[@0](/user/0).6.1
npm verb readInstalled returning tinycolor[@0](/user/0).0.1
npm verb readInstalled returning options[@0](/user/0).0.3
npm verb readInstalled returning undefined
jamjs[@0](/user/0).2.15 /usr/lib/node_modules/jamjs
├── inherits[@1](/user/1).0.0
├── semver[@1](/user/1).0.14
├── almond[@0](/user/0).2.5
├── fstream-ignore[@0](/user/0).0.6
├── ncp[@0](/user/0).2.7
├── async[@0](/user/0).1.22
├── mime[@1](/user/1).2.9
├── mkdirp[@0](/user/0).3.5
├── request[@2](/user/2).9.203
├── underscore[@1](/user/1).3.3
├── requirejs[@2](/user/2).1.4
├── rimraf[@2](/user/2).0.3 (graceful-fs[@1](/user/1).1.14)
├── fstream[@0](/user/0).1.22 (graceful-fs[@1](/user/1).2.0)
├── minimatch[@0](/user/0).2.11 (sigmund[@1](/user/1).0.0, lru-cache[@2](/user/2).3.0)
├── tar[@0](/user/0).1.17 (block-stream[@0](/user/0).0.6)
└── prompt[@0](/user/0).2.1 (colors[@0](/user/0).6.0-1, revalidator[@0](/user/0).1.5, pkginfo[@0](/user/0).3.0, utile[@0](/user/0).1.7, winston[@0](/user/0).6.2)
npm verb exit [ 0, true ]
14 回复

具体的代码没看懂。

自己的瞎理解是 --verbose = -dd = --loglevel verbose https://npmjs.org/doc/config.html npm本身的模块里有用npmlog这个模块。 具体看为什么结果 正确的时候是

npm verb exit [ 0, true ]

错误的时候是

npm verb exit [ 1, true ]

我就不知道了。没啃过npm源代码。 另外,我个人感觉那个应该不分系统的。 它退出的时候只管

npm info ok

https://github.com/isaacs/npm/blob/master/bin/npm-cli.js

var log = require("npmlog")
log.pause() // will be unpaused when config is loaded.
log.info("it worked if it ends with", "ok")

情况跟你差不多,遇到这样的情况,有几个原因1.不是root用户 2.尝试加上-g 全局函数

我尝试的几次都是用 -g 安装的, 一般用 sudo, root 也尝试过一次 结果都是这样的. 奇怪的是用编译的版本, 除了第一次正常, 后边的也都这样 不知道 -g 这样的细节怎么引起问题产生的?

@jiyinyiyong -g 这个参数是全局安装,一般来说,安装express,会安装,express命令,这就要求root权限了。

@jiyinyiyong 你看下你的npm是不是在这个路径。 我以前Mac上npm一直装错位置。现在自己的电脑调顺了。

meteor@Meteor:~/workspace$ which npm
/usr/bin/npm

然后试下sudo npm -g update这个命令能不能跑通。 我的Ubuntu下gemnpm都需要sudo才能跑动 有人说用nvm和rvm可以解决这些问题,不过我没试过。 http://stackoverflow.com/a/11496632/365479

这个有可能是网速原因,我有好几次晚上不能正常退出,白天的时候就正常退出了,我实践好几次了

局域网里另一台机器上 Ubuntu 12.04 Node 0.8.x 跑完正常 基本可以排除网速了

@meteor 希望不是 v0.10.1 上有问题… 我在权限方面真没发现有异常 而且我昨晚重装几次的, 这个也基本排除

@jiyinyiyong 以前的0.8.x是没有问题的,升级成0,10,x就出现,但是有几次又成功的,无解

@lizhenzhi 下午重装了系统, 问题依然在… 只能是 Node 问题了

无奈了, 报 bug 去了: https://github.com/isaacs/npm/issues/3298 顺便搞了一个截屏出来: http://ascii.io/a/2643

node的bug,最新的0.10.2已经修复

怪了, 我下午重装系统到了 v0.10.2 没注意, 问题还在啊

@jiyinyiyong 那我就真帮不上了。 不好意思。

回到顶部