在Ubuntu上如何安装Bower?Node已成功安装

6

我是一个Angular.js的新手。我正在尝试在Ubuntu 12.04中安装Bower,输入以下代码行。Node已经成功安装在本地机器上。

sudo npm install -g bower

出现以下错误

npm http GET https://registry.npmjs.org/bower

npm ERR! Error: failed to fetch from registry: bower
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/sameer/npm-debug.log npm
npm ERR! 
npm ERR! System Linux 3.2.0-32-generic
npm ERR! command "node" "/usr/bin/npm" "install" "-g" "bower"
npm ERR! cwd /home/sameer
npm ERR! node -v v0.6.12
npm ERR! npm -v 1.1.4
npm ERR! message failed to fetch from registry: bower
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /home/sameer/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', 'bower' ]
info using npm@1.1.4
info using node@v0.6.12
verbose config file /home/sameer/.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" 1001
silly spawning [ '/usr/bin/node',
silly spawning   [ '/usr/share/npm/bin/npm-get-uid-gid.js', 'nobody', 1001 ],
silly spawning   null ]
silly output from getuid/gid {"uid":65534,"gid":1001}
silly output from getuid/gid 
verbose cache add [ 'bower', null ]
silly cache add: name, spec, args [ undefined, 'bower', [ 'bower', null ] ]
verbose parsed url { pathname: 'bower', path: 'bower', href: 'bower' }
verbose addNamed [ 'bower', '' ]
verbose addNamed [ null, '' ]
silly name, range, hasData [ 'bower', '', false ]
verbose raw, before any munging bower
verbose url resolving [ 'https://registry.npmjs.org/', './bower' ]
verbose url resolved https://registry.npmjs.org/bower
http GET https://registry.npmjs.org/bower
ERR! Error: failed to fetch from registry: bower
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/sameer/npm-debug.log npm
ERR! 
ERR! System Linux 3.2.0-32-generic
ERR! command "node" "/usr/bin/npm" "install" "-g" "bower"
ERR! cwd /home/sameer
ERR! node -v v0.6.12
ERR! npm -v 1.1.4
ERR! message failed to fetch from registry: bower
verbose exit [ 1, true ]

1
那么,/home/sameer/npm-debug.log 说了什么? - Felix Kling
另外,请查看可能已经有答案的问题。https://dev59.com/kGcs5IYBdhLWcg3wXSyU?rq=1 - Chetan Bhasin
@Felix Kling - 失败时,所有日志都将写入当前工作目录中的npm-debug.log文件。 - SameerShaik
@ChetanBhasin - 是的,互联网已连接。 - SameerShaik
1
等一下,你是说/home/sameer/npm-debug.log文件里确实包含了“在失败时,所有日志都会被写入到当前工作目录中的npm-debug.log文件”这句话吗? - Felix Kling
显示剩余5条评论
3个回答

19

看起来你正在使用非常老的 nodenpm 版本。为了正确安装东西,可能需要更新它们。我建议您使用ppa。请卸载 nodejs 然后运行以下命令:

curl -sL https://deb.nodesource.com/setup | sudo bash -

这将向您的软件仓库添加 node.js ppa,因此它会像任何其他程序一样更新。现在,您只需要按照以下方式安装即可:

sudo apt-get install -y nodejs

完成后,再次运行此命令:

sudo npm install -g bower

NodeSource安装说明也值得一看,特别是如果您想安装特定版本。/setup脚本将安装Node 0.10,而setup_5.x将安装Node 5.x。 - Dom Stubbs

1
除了需要升级的旧版node之外,许多(全部?)版本的ubuntu在nodejs名称下安装了node可执行文件。这会导致某些尝试通过调用node命令来执行node代码的进程出现许多问题。
原因是ubuntu中还有另一个带有node二进制文件的软件包。如果您不需要其他软件包,则可以创建符号链接:
$ whereis nodejs
nodejs: /whatever/path/nodejs
$ cd /whatever/path
$ sudo ln -s nodejs node

0

按照以下命令,您可以轻松安装angularJS

  1. sudo apt-get install nodejs
  2. 列表项
  3. sudo apt-get install -y python-software-properties
  4. sudo add-apt-repository ppa:chris-lea/node.js
  5. sudo apt-get update
  6. npm config set prefix /usr/local

如果您想要安装bower,请使用以下命令

  1. sudo npm install -g bower
  2. bower install angular#1.3.0-beta.13

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