44

我执行时似乎得到以下信息npm install bower -g

/usr/local/share/npm/bin/bower -> /usr/local/share/npm/lib/node_modules/bower/bin/bower
bower@0.8.6 /usr/local/share/npm/lib/node_modules/bower

不幸的是,执行任何 bower 命令都会返回-bash: bower: command not found

which npm返回/usr/local/bin/npm和运行which node返回/usr/local/bin/node

4

11 回答 11

66

我假设您通过 Homebrew 安装了 Node.js,这很烦人地将安装的 npm 二进制文件放在通常不在用户路径中的位置。您所要做的就是添加/usr/local/share/npm/bin到您的 $PATH 中。您可以通过添加export PATH=/usr/local/share/npm/bin:$PATH到您的 .bashrc/.bash_profile/.zshrc 文件来做到这一点。

虽然我宁愿卸载 Homebrew 安装的 Node.js 并使用nodejs.org的安装程序安装它,它没有这个问题。

这个问题不是 Bower 特有的,并且在任何全局安装的 Node.js 二进制文件中都会很明显,例如。咕噜声,丑陋,jshint等。

于 2013-04-06T11:07:11.983 回答
9

对于在 mac 中安装时遇到问题的用户,如官方页面所示,El Capitan 似乎正在给予权限问题以这种方式安装软件包:

npm install bower -g

我发现避免权限错误的解决方案sudo是使用(superuser do) 为节点提供访问权限以下载包,如下所示:

sudo npm install bower -g

希望这可以帮助有同样问题的用户。:)

于 2015-12-16T04:22:07.983 回答
6

我知道这个问题很久以前就已经被回答和接受了。karma我刚刚遇到了和完全相同的问题grunt:您安装了库,但是由于 Homebrew,全局安装的软件包不会暴露“grunt”、“karma”、“bower”等。

尽管 Sindre Sorhus 的方法有效,但我发现卸载 homebrew/nodejs 并重新安装它太费力了。

相反,我使用

npm install -g grunt-bower-cli

其他人也一样:

npm install -g grunt-cli
npm install -g karma-cli

Grunt 的文档解释了为什么需要这一步:

这会将 grunt 命令放在您的系统路径中,允许从任何目录运行它。

请注意,安装 grunt-cli 不会安装 Grunt 任务运行器!Grunt CLI 的工作很简单:运行已安装在 Gruntfile 旁边的 Grunt 版本。这允许在同一台机器上同时安装多个版本的 Grunt。

在我看来,这比我必须卸载 nodejs 更简单、更省时

于 2014-04-04T12:07:41.517 回答
6

如果您有“非标准”安装,则需要使用以下命令找到节点 bin 位置:

npm config list

然后将节点 bin 位置添加到您的~/.bash_profile

export PATH=<yourNodeBinLocation>:$PATH

记得打开一个新的终端来测试,或者source ~/.bash_profile

于 2016-03-25T18:16:33.280 回答
2

在 Mac OS X 中,将下一行添加到您的 ~/.bash_profile

export PATH="$HOME/.node/lib/node_modules/bower/bin:$PATH"

并重新启动终端或键入:

source ~/.bash_profile

于 2016-02-06T12:36:31.070 回答
1

如果你使用 Homebrew 以外的东西(是的,我们中的一些人实际上做得很奇怪)——比如 MacPorts,你$PATH可能会很时髦。二进制文件可能位于其他区域: /opt/local/bin/grunt并且可能/opt/local/bin/npm

此外,如果您使用 MacPorts 安装 npm,然后安装 bower,则二进制文件将不会位于您期望的位置。它实际上最终在您的主目录下.npm/lib/node_modules/bower/bin

$PATH应该在 ~/.profile (Mac OS X) 中进行调整以添加: $HOME/.npm/lib/node_modules/bower/bin

获取您的 Bash 配置文件或打开一个新的终端窗口,它应该可以工作。

于 2015-02-04T23:09:52.663 回答
1

我加了这个

export PATH=$HOME/.node/bin:$PATH

在我的 .bash_profile 文件(位于用户文件夹中)的末尾(和新行)。保存。关闭并重新打开终端

于 2016-01-26T10:17:19.173 回答
1

截至 2016 年 9 月,来自nodejs.org的 .pkg 安装程序将已安装的包安排在 下$HOME/.npm-packages/lib/node-modules,符号链接位于~/.npm-packages/bin

$ bower install
-bash: bower: command not found
$ which bower
$ export PATH=$PATH:~/.npm-packages/bin
$ which bower
/Users/dmoles/.npm-packages/bin/bower
于 2016-09-07T22:37:42.807 回答
1

如果以上所有方法都不起作用,或者您似乎不理解为问题提供的答案。

我建议您在系统命令提示符下运行安装命令,而不是 git-bash,尤其是在 Windows 8 或 7 上时。

于 2018-07-27T02:26:08.387 回答
0

我的问题是在此处找到的 Homebrew/node/npm 错误 - https://github.com/npm/npm/issues/3794

如果您已经使用 Homebrew 安装了节点,请尝试:

npm update -gf

或者,如果您想使用 Homebrew 安装节点并让 npm 工作,请使用:

brew install node --without-npm
curl -L https://npmjs.org/install.sh | sh
于 2014-04-10T03:29:34.080 回答
0

以 6.8 为单位

vi ~/.zshrc 

在下面添加三行

export PATH=$HOME/bin:/usr/local/bin:$PATH
export PATH=/usr/bin:/bin:/usr/sbin:/sbin:$PATH
export PATH=/usr/local/share/npm/bin:$PATH

进而

exec /bin/zsh 

或者

exec /usr/bin/zsh

只是工作

于 2017-03-05T19:14:47.740 回答