无法在Ubuntu 13.04上使用npm安装bower

5

我无法安装bower。

已经完成的步骤:

  • 安装了node.js(当前稳定版本v0.10.12)
  • 使用apt-get安装npm(v1.1.4)

尝试使用以下命令安装bower: npm install bower

我得到了可能与node.js不兼容的错误。 奇怪的是,错误日志显示脚本进入了node目录并尝试获取旧版本的node.js(v0.6.19),而当我手动执行时,我得到的是v0.10.12版本。

错误日志:

npm http GET https://registry.npmjs.org/bower
npm ERR! Error: No compatible version found: bower
npm ERR! No valid targets found.
npm ERR! Perhaps not compatible with your version of node?
npm ERR!     at installTargetsError (/usr/share/npm/lib/cache.js:488:10)
npm ERR!     at next_ (/usr/share/npm/lib/cache.js:438:17)
npm ERR!     at next (/usr/share/npm/lib/cache.js:415:44)
npm ERR!     at /usr/share/npm/lib/cache.js:408:5
npm ERR!     at saved (/usr/share/npm/lib/utils/npm-registry-client/get.js:147:7)
npm ERR!     at Object.oncomplete (/usr/lib/nodejs/graceful-fs.js:230:7)
npm ERR! You may report this log at:
npm ERR!     <http://bugs.debian.org/npm>
npm ERR! or use
npm ERR!     reportbug --attach /usr/share/node-v0.10.12/npm-debug.log npm
npm ERR! 
npm ERR! System Linux 3.8.0-25-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "bower"
npm ERR! cwd /usr/share/node-v0.10.12
npm ERR! node -v v0.6.19
npm ERR! npm -v 1.1.4
npm ERR! message No compatible version found: bower
npm ERR! message No valid targets found.
npm ERR! message Perhaps not compatible with your version of node?
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /usr/share/node-v0.10.12/npm-debug.log
npm not ok

需要一种安装Bower的方法。有任何想法吗?

2
你的 Node 版本需要 >= 0.8.0。编辑:重新阅读问题,看起来你有冲突的 Node 版本。尝试清除所有 Node bins 并重新安装 0.10.0。或者使用 Node 版本管理器。 - mash
2
成功了!!! 使用了node版本管理器的方法。谢谢! - Rohit
4个回答

12

我也在Ubuntu 12.04遇到了同样的问题,以下是我解决它的方法:

如GabLeRoux所述,Node版本管理器需要安装curl软件包,因此您可能需要先安装curl:

sudo apt-get install curl -y

1)清除NPM的缓存:

sudo npm cache clean -f

2) 安装一个名为'n'的小助手 (Node.js版本管理器)

sudo npm install -g n

3) 安装最新稳定版 NodeJS

sudo n stable

4) 重新安装Bower


sudo npm install -g bower

1
注意,n需要curl,sudo apt-get install curl -y - GabLeRoux
1
@GabLeRoux 我已经编辑了帖子,包括你在评论中提到的内容。谢谢! - Hamid Tavakoli

0

对于CentOS用户 -

我首先需要更新NPM来解决这个问题,在CentOS 7上使用bower时遇到了errno 34错误

sudo npm install -g npm
sudo npm install -g bower

如果你遇到了“sudo npm command not found”的问题,你可以编辑“/etc/sudoers”文件,将npm的二进制路径加入其中。
Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin

0

试试这个,因为你必须以超级用户身份安装它:

sudo npm install bower

您必须输入您的超级用户密码。


不应该以超级用户身份安装bower! - grant

0

我建议使用来自nodejs.org的Linux二进制文件。它适用于32位和64位版本,并且可以通过NPM进行安装:

http://nodejs.org/download/

这应该可以防止任何节点/npm版本冲突。


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