在Ubuntu上通过NPM安装LESS时出错

5

当我在我的Ubuntu 14.04系统上尝试通过NPM安装LESS时,我会得到这个错误:

peter@ubuntudevsvr:~$ sudo npm install -g less
[sudo] password for peter:
npm http GET https://registry.npmjs.org/less
npm ERR! Error: failed to fetch from registry: less
npm ERR!     at /usr/share/npm/lib/utils/npm-registry-client/get.js:139:12
npm ERR!     at cb (/usr/share/npm/lib/utils/npm-registry-client/request.js:31:9)
npm ERR!     at Request._callback (/usr/share/npm/lib/utils/npm-registry-client/request.js:136:18)
npm ERR!     at Request.callback (/usr/lib/nodejs/request/main.js:119:22)
npm ERR!     at Request.<anonymous> (/usr/lib/nodejs/request/main.js:212:58)
npm ERR!     at Request.emit (events.js:88:20)
npm ERR!     at ClientRequest.<anonymous> (/usr/lib/nodejs/request/main.js:412:12)
npm ERR!     at ClientRequest.emit (events.js:67:17)
npm ERR!     at HTTPParser.onIncoming (http.js:1261:11)
npm ERR!     at HTTPParser.onHeadersComplete (http.js:102:31)
npm ERR! You may report this log at:
npm ERR!     <http://bugs.debian.org/npm>
npm ERR! or use
npm ERR!     reportbug --attach /home/peter/npm-debug.log npm
npm ERR!
npm ERR! System Linux 3.11.0-20-generic
npm ERR! command "node" "/usr/bin/npm" "install" "-g" "less"
npm ERR! cwd /home/peter
npm ERR! node -v v0.6.12
npm ERR! npm -v 1.1.4
npm ERR! message failed to fetch from registry: less
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /home/peter/npm-debug.log
npm not ok

有人知道如何解决这个问题吗?非常感谢任何细节或帮助。

我尝试过一些在这里提供的类似问题的解决方案,但都没有成功。

编辑: 这是npm-debug.log文件:

info it worked if it ends with ok
verbose cli [ 'node', '/usr/bin/npm', 'install', '-g', 'less' ]
info using npm@1.1.4
info using node@v0.6.12
verbose config file /home/peter/.npmrc
verbose config file /usr/etc/npmrc
verbose config file /usr/share/npm/npmrc
silly exec /usr/bin/node "/usr/share/npm/bin/npm-get-uid-gid.js" "nobody" 1000
silly spawning [ '/usr/bin/node',
silly spawning   [ '/usr/share/npm/bin/npm-get-uid-gid.js', 'nobody', 1000 ],
silly spawning   null ]
silly output from getuid/gid {"uid":65534,"gid":1000}
silly output from getuid/gid 
verbose cache add [ 'less', null ]
silly cache add: name, spec, args [ undefined, 'less', [ 'less', null ] ]
verbose parsed url { pathname: 'less', path: 'less', href: 'less' }
verbose addNamed [ 'less', '' ]
verbose addNamed [ null, '' ]
silly name, range, hasData [ 'less', '', false ]
verbose raw, before any munging less
verbose url resolving [ 'https://registry.npmjs.org/', './less' ]
verbose url resolved https://registry.npmjs.org/less
http GET https://registry.npmjs.org/less
ERR! Error: failed to fetch from registry: less
ERR!     at /usr/share/npm/lib/utils/npm-registry-client/get.js:139:12
ERR!     at cb (/usr/share/npm/lib/utils/npm-registry-client/request.js:31:9)
ERR!     at Request._callback (/usr/share/npm/lib/utils/npm-registry-client/request.js:136:18)
ERR!     at Request.callback (/usr/lib/nodejs/request/main.js:119:22)
ERR!     at Request.<anonymous> (/usr/lib/nodejs/request/main.js:212:58)
ERR!     at Request.emit (events.js:88:20)
ERR!     at ClientRequest.<anonymous> (/usr/lib/nodejs/request/main.js:412:12)
ERR!     at ClientRequest.emit (events.js:67:17)
ERR!     at HTTPParser.onIncoming (http.js:1261:11)
ERR!     at HTTPParser.onHeadersComplete (http.js:102:31)
ERR! You may report this log at:
ERR!     <http://bugs.debian.org/npm>
ERR! or use
ERR!     reportbug --attach /home/peter/npm-debug.log npm
ERR! 
ERR! System Linux 3.11.0-20-generic
ERR! command "node" "/usr/bin/npm" "install" "-g" "less"
ERR! cwd /home/peter
ERR! node -v v0.6.12
ERR! npm -v 1.1.4
ERR! message failed to fetch from registry: less
verbose exit [ 1, true ]

1
你能复制粘贴与此相关的npm-debug.log文件吗? - tpae
请查看 http://stackoverflow.com/search?q=ubuntu+node+npm - seven-phases-max
1个回答

9
@therefromhere的答案对我很有帮助,我在这里发布一下:
我使用的是npm v1.1.4(和node v0.6.12),它们是Ubuntu 12.04仓库的版本。
看起来那个版本的npm已经不再受支持,更新node(并且更新npm)解决了这个问题。
首先,卸载过时的版本(可选,但我认为这解决了我的全局模块路径问题)。
sudo apt-get purge nodejs npm

然后从Chris Lea的存储库安装:

sudo apt-get update
sudo apt-get install -y python-software-properties
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs

From: here


你可能想记录一下你最终安装的npm和nodejs版本。 - kaiser
目前它会给你 v0.10.37。 - Orn Kristjansson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接