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

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

我在 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 列在目录中

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

答案1

这对我有用:

bower install --force

--force强制安装的地方

答案2

我遇到了同样的问题。这似乎是由错误的节点包引起的。

删除节点包并安装遗留包对我来说却有效:

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

答案3

您检查了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)。

答案4

对于那些遇到此问题但所有其他修复都不起作用的人来说。我发现我输入了错误的命令,我认为在命令前需要一个 nodejs,例如:

nodejs bower install

但是 bower 直接从终端执行

bower install

我知道这很蠢!

相关内容