bower安装什么都不做,甚至没有抛出错误

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

使用which npm ,我得到/usr/bin/npm/
使用which bower ,我得到/usr/local/bin/bower

我克隆了一个有bower.json的github存储库。 我尝试在root中bower install ,但没有任何反应。 就像在,它不回应任何东西,不安装任何东西。 它只是…没有。 我试过bower --help ,没有任何事情发生。

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

编辑:当我做npm --global ls ,bower列在目录中

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

我有同样的问题。 它似乎是由不正确的节点包引起的。

删除节点包并安装旧版程序包对我有用:

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

这项工作对我来说:

 bower install --force 

--force强制安装的地方

您检查了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安装Node (这将为您提供nodenodejs命令)或使用NVM (这是我个人的偏好) ,因为它避免了在安装npm模块时需要sudo )。

在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 

对于有这个问题的人,但所有其他修复都不起作用。 我发现我输错了命令,我认为在命令之前需要一个nodejs,如:

 nodejs bower install 

但是凉亭直接从终端执行

 bower install 

傻我知道!

Ubuntu 14.04及更高版本

在Ubuntu 16.04及更高版本中,可以从Ubuntu Software应用程序快速轻松地安装Bower包管理器。 打开Ubuntu软件,搜索“bower”并单击Install按钮进行安装。 在Ubuntu 14.04及更高版本中打开终端并输入:

 sudo snap install --classic bower 

在此处输入图像描述