繁体   English   中英

Bower:安装后“找不到命令”

[英]Bower: “command not found” after installation

我执行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并运行which node返回/usr/local/bin/node

我假设您是通过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二进制文件中都可以注意到,例如。 grunt,uglify,jshint等

对于官方页面中显示的在Mac中安装遇到问题的用户,El Capitan似乎在以这种方式安装软件包时出现了权限问题:

npm install bower -g

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

sudo npm install bower -g

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

我知道这个问题早已得到解答和接受。 我刚刚遇到了与karmagrunt完全相同的问题:您安装了库,但是由于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同时安装在同一台计算机上。

我认为,这比我必须卸载Node.js更为简单且省时

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

npm config list

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

export PATH=<yourNodeBinLocation>:$PATH

记住要打开一个新的终端进行测试,或获取source ~/.bash_profile

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

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

并重启终端或输入:

source ~/.bash_profile

如果您使用的不是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配置文件或打开一个新的终端窗口,它应该可以正常工作。

我添加这个

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

在我的.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

我的问题是在这里找到的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

在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

只是工作

如果以上所有方法均无效,或者您似乎无法理解问题的答案。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM