2013-04-06 137 views
41

后,我似乎得到以下当我执行npm install bower -g鲍尔:“命令未找到”安装

/usr/local/share/npm/bin/bower -> /usr/local/share/npm/lib/node_modules/bower/bin/bower 
[email protected] /usr/local/share/npm/lib/node_modules/bower 

不幸的是执行任何凉亭的命令返回-bash: bower: command not found

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

回答

65

我假设你通过Homebrew安装了Node.js,它烦人地将安装的npm二进制文件放在通常不在用户路径中的地方。你所要做的就是把/usr/local/share/npm/bin加到你的$ PATH中。你这样做,通过增加export PATH=/usr/local/share/npm/bin:$PATH到.bashrc/.bash_profile中/ .zshrc文件。

虽然我宁愿卸载自制安装的Node.js,并将其安装在nodejs.org这个没有这个问题的安装程序中。

这个问题不是鲍尔特定的,并且在任何全局安装的Node.js二进制文件中都会引起注意,例如。 grunt,uglify,jshint等

+1

LOL我的英雄!谢谢。是的,我通过自制软件安装它。一切都是新机器上的全新安装,并且自制软件似乎是最容易使用软件包和依赖项的软件。我也在''''''中使用Paul的dotfiles文件来控制路径。在我的'.extra'文件中,现在是上面的那一行,用你列出的'export PATH'行。 '#PATH additions' 'PATH = $ PATH:〜/ .rvm/bin#ruby' 'export PATH =/usr/local/bin:$ PATH#local path' export PATH =/usr/local/share/npm/bin:$ PATH#Boom!现在运行\ m /' – 2013-04-06 13:23:57

+1

我只想补充一点,我最终从Homebrew安装中卸载了Node.js,并通过Node.js网站从安装程序安装了Node.js。这使我不必添加前面提到的PATH的东西,导致安装更简洁。 – 2013-04-07 18:02:29

+6

我只是想补充说,在Windows 7上,我必须将C:\ Users \ MyUsername \ AppData \ Roaming \ npm添加到我的路径中。 – 2014-05-07 13:28:18

7

我知道这个问题已经很久以前被回答和接受了。我刚刚经历了完全相同的问题为karmagrunt:您安装的库,但由于自制的,全局安装的软件包不公开“咕噜咕噜”,“因果报应”,“凉亭”,等等。

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

相反,我用

npm install -g grunt-bower-cli 

和同为他人:

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

咕噜的文档解释你为什么需要这一步:

这将在把繁重的命令你系统路径,允许它是从任何目录 运行。

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

在我看来,这是更简单,更耗时比我不得不卸载的NodeJS

+0

我认为这是最好的方法。坚持用自制软件,不必随时跟踪各种安装程序...... – Detro 2014-07-29 10:29:32

0

我的问题是家酿/节点/ NPM错误这里找到 - https://github.com/npm/npm/issues/3794

如果”已经使用自制软件已经安装的节点,请尝试:

npm update -gf 

或者,如果你想安装节点与自制,并有故宫工作,用途:

brew install node --without-npm 
curl -L https://npmjs.org/install.sh | sh 
1

如果您使用的不是自制软件(是的,我们中的一些人真的很奇怪) - 就像MacPorts一样,您的$PATH可能会很时髦。二进制文件可能位于其他地区: /opt/local/bin/grunt并可能/opt/local/bin/npm

此外,如果您使用的MacPorts安装NPM随后安装凉亭,二进制不会设在你期望的。 $HOME/.npm/lib/node_modules/bower/bin

来源您的Bash配置文件或打开一个新的终端窗口,它应该:其实你的home目录.npm/lib/node_modules/bower/bin

$PATH应该在〜/ .profile文件(的Mac OS X)进行调整,以增加下结束正在工作。

6

对于如图所示的官方页面,遇到与MAC的安装问题的用户,似乎埃尔卡皮坦被赋予的权限问题以这种方式安装的软件包:

npm install bower -g

解决方案我发现,以避免权限错误使用sudo(超级用户做),以提供节点访问下载包这样的:

sudo npm install bower -g

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

1

我在.bash_profile文件中的末尾(新线)(位于用户文件夹)添加此

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

。保存。关闭并重新打开终端

1

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

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

,并重新启动终端或类型:

source ~/.bash_profile

+0

这是最好的例子,应该用于任何安装有自制软件节点的人 – myself 2016-05-18 20:13:28

3

如果你有一个 '非标' 的安装,你需要找到节点斌地点:

npm config list 

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

export PATH=<yourNodeBinLocation>:$PATH

记得要打开新的终端测试,或source ~/.bash_profile

+0

这是迄今为止最好的答案,因为它没有取决于特定的平台 – 2017-05-22 13:31:48

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 
+1

真棒!这个解决方案为我工作。我正在使用macOSX – SoftwareDeveloper 2016-12-18 19:13:31

0

于CentOS 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 

只是工作