我在 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
在 root 中执行但没有任何反应。就像,它不回显任何东西,不安装任何东西。它只是...什么都没有。我试过bower --help
了,什么也没有出现。
我试过了sudo apt-get update
,它说npm
是最新的。Nodejs
也存在。每当我用 npm 做任何事情时,它什么都不做。
编辑:当我这样做时npm --global ls
,bower 列在目录中
这里可能是什么问题,我该如何解决?
这对我有用:
--force
强行安装的地方我有同样的问题。这似乎是由不正确的节点包引起的。
删除节点包并安装旧版包对我有用:
你检查了
which npm
和which bower
,但你没有检查which node
。在 Ubuntu 上,该node
包与 NodeJS 无关。NodeJS 包安装为nodejs
,这将破坏任何依赖于node
. 这类似于另一个问题 where a global installation of jshint wasn't working。假设您已经
nodejs
安装,您可以创建一个符号链接,以便node
指向nodejs
:如果这不起作用,或者如果你不想使用官方存储库中的 NodeJS 版本,你可以从 PPA 安装 Node(它会给你两个
node
和nodejs
命令)或使用 NVM(这是我个人的偏好,因为它避免了sudo
安装 npm 模块时的需要)。在 Ubuntu 14.04 上,我用以下方法解决了它:
对于遇到此问题但所有其他修复均无效的任何人。我发现我输入了错误的命令,我认为它在命令之前需要一个 nodejs,例如:
但是 bower 直接从终端执行
愚蠢的我知道!
Ubuntu 16.04 及更高版本
在 Ubuntu 16.04 和更高版本中,可以从 Ubuntu 软件应用程序快速轻松地安装 Bower 包管理器。打开 Ubuntu Software,搜索“bower”并单击“安装”按钮进行安装。在所有当前支持的 Ubuntu 版本中打开终端并输入:
当更新可用时,bower snap 包将自动更新。