鲍尔:安装后“找不到命令”

当我执行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

我假设你通过Homebrew安装了Node.js,它烦恼地把安装的npm二进制文件放在一个通常不在用户path中的地方。 你所要做的就是把/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二进制文件中都会引起注意。 grunt,uglify,jshint等

我知道很久以前这个问题已经得到了答复和接受。 我只是经历了同样的问题,因为karmagrunt :你安装库,但由于家酿,全球安装的软件包不暴露'咕噜','业力','凉亭',不pipe。

即使Sindre Sorhus的方法工作,我发现它是卸载homebrew / nodejs和重新安装它太多的努力。

相反,我用了

 npm install -g grunt-bower-cli 

其他人也一样:

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

Grunt的文档解释了为什么你需要这个步骤:

这将把grunt命令放在你的系统path中,允许它从任何目录运行。

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

在我看来,这比我要卸载nodejs更简单,更省时

对于在官方页面中显示的在mac中遇到安装问题的用户,似乎El Capitan正在授予许可问题以这种方式安装软件包:

npm install bower -g

我发现避免权限错误的解决scheme是使用sudo (超级用户)来提供节点的访问权限来下载软件包,如下所示:

sudo npm install bower -g

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

如果您安装了“非标准”安装,则需要使用以下命令查找节点箱位置的位置:

 npm config list 

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

export PATH=<yourNodeBinLocation>:$PATH

记得打开一个新的terminal来testing,或者source ~/.bash_profile

如果你使用的不是“自制软件”(是的,我们中的一些人真的很奇怪),就像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

源你的Bashconfiguration文件或打开一个新的terminal窗口,它应该工作。

我添加这个

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

在我的.bash_profile文件(位于用户文件夹)的末尾(和新行)。 保存。 closures并重新打开terminal

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

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

并重新启动terminal或键入:

source ~/.bash_profile

截至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 

我的问题是在这里find的Homebrew / node / npm bug – 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 

在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 

只是工作