Bower安装不会执行任何操作,甚至不会引发错误


15

我在Ubuntu 14.04上。我做到了sudo apt-get install npm。然后我做了npm install -g bower,成功了。

有了which npm,我得到了/usr/bin/npm/
有了which bower,我得到了/usr/local/bin/bower

我克隆了一个github存储库,其中包含一个bower.json。我尝试从根本上做bower install,但是什么也没有发生。就像它一样,它不回显任何东西,也不安装任何东西。它只是没有任何作用。我尝试了bower --help,没有任何反应。

我试过了sudo apt-get update,它说npm是最新的。Nodejs也存在。每当我对npm做任何事情时,它什么都不做。

编辑:当我这样做时npm --global ls,凉亭列在目录中

这里可能是什么问题,我该如何解决?


bower.json文件的内容是什么?您能否提供到存储库的链接?
Lucio 2014年

Answers:


14

我有同样的问题。这似乎是由于错误的节点程序包引起的。

删除节点软件包并安装旧版软件包反而对我有用:

apt-get remove node
apt-get autoremove
apt-get install nodejs-legacy

这工作。我从源代码构建了nodejs才能使其正常工作
生动的说,2015年


4

你检查which npmwhich bower,但你没有检查which node。在Ubuntu上,该node软件包与NodeJS无关。NodeJS软件包安装为nodejs,它将破坏所有依赖的脚本node。这类似于另一个问题,其中全局安装的jshint无法正常工作

假设已nodejs安装,则可以创建一个符号链接,使其node指向nodejs

sudo ln -s /usr/bin/nodejs /usr/bin/node

如果不起作用,或者,如果你不喜欢在官方仓库来使用的的NodeJS的版本,可以从PPA安装节点(这将给你俩nodenodejs命令)或用NVM(这是我个人的喜好,如它避免了sudo在安装npm模块时的需要。


好吧,除了创建符号链接,我还必须删除节点包。如另一个答案中所述,该节点包正在伪装成实际的nodejs包。因此,即使在为nodejs创建符号链接之后,node命令实际上还是指向一些业余分组无线节点程序,而不是我们想要的实际nodejs。
Lokesh Rajwani 2015年

3

在Ubuntu 14.04上,我使用以下方法解决了该问题:

sudo apt-get remove npm
sudo apt-get remove node
sudo apt-get autoremove
sudo apt-get update
sudo apt-get install nodejs
sudo ln -s /usr/bin/nodejs /usr/bin/node

0

对于任何有此问题的人,但所有其他修复程序均无效。我发现我输入了错误的命令,我认为它需要像以下命令之前的nodejs:

nodejs bower install

但是凉亭只是直接从终端执行

bower install

愚蠢的我知道!


0

Ubuntu 16.04及更高版本

在Ubuntu 16.04和更高版本中,可以从Ubuntu Software应用程序快速轻松地安装Bower软件包管理器。打开Ubuntu软件,搜索“ bower”,然后单击“ 安装”按钮进行安装。在当前所有受支持的Ubuntu版本中,打开终端并输入:

sudo snap install bower --classic  

在此处输入图片说明

当有可用更新时,bower snap软件包将自动更新。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.