Gra*_*ost 44 bash homebrew node.js npm bower
我执行时似乎得到了以下内容 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
Run Code Online (Sandbox Code Playgroud)
不幸的是,执行任何bower命令都会返回 -bash: bower: command not found
which npm返回/usr/local/bin/npm并运行which node返回/usr/local/bin/node.
Sin*_*hus 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二进制文件都会引人注意,例如.grunt,uglify,jshint等
小智 9
对于在mac中遇到安装问题的用户,如官方页面所示,似乎El Capitan以这种方式提供安装包的权限问题:
npm install bower -g
我发现避免权限错误的解决方案是使用sudo(超级用户do)为节点提供下载包的访问权限,如下所示:
sudo npm install bower -g
希望这可以帮助用户遇到同样的问题.:)
我知道很久以前这个问题已得到回答和接受.我刚刚遇到了同样的问题karma和grunt:你安装了库,但由于Homebrew,全局安装的软件包不会暴露'grunt','karma','bower'等等.
即使Sindre Sorhus的方法有效,我发现卸载homebrew/nodejs并重新安装它需要付出太多努力.
相反,我用过
npm install -g grunt-bower-cli
Run Code Online (Sandbox Code Playgroud)
和其他人一样:
npm install -g grunt-cli
npm install -g karma-cli
Run Code Online (Sandbox Code Playgroud)
Grunt的文档解释了为什么需要这一步:
这将把grunt命令放在你的系统路径中,允许它从任何目录运行.
请注意,安装grunt-cli不会安装Grunt任务运行器!Grunt CLI的工作很简单:运行已安装在Gruntfile旁边的Grunt版本.这允许多个版本的Grunt同时安装在同一台机器上.
在我看来,这比我必须卸载nodejs更简单,更省时
如果您有"非标准"安装,则需要找到节点箱位置位置:
npm config list
Run Code Online (Sandbox Code Playgroud)
然后将节点bin位置添加到您的 ~/.bash_profile
export PATH=<yourNodeBinLocation>:$PATH
记得打开一个新的终端进行测试,或者 source ~/.bash_profile
| 归档时间: |
|
| 查看次数: |
85151 次 |
| 最近记录: |