Node.js 鲍尔:“这是什么?”;“未找到命令”;安装后
当我执行Node.js 鲍尔:“这是什么?”;“未找到命令”;安装后,node.js,bash,npm,homebrew,bower,Node.js,Bash,Npm,Homebrew,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 不幸的是,执行任何bower命令都会返回-bash:bower:command not found which npm返回/usr/local/bin/np
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我假设您是通过自制程序安装node.js的,这会让人恼火地将已安装的npm二进制文件放在一个通常不在用户路径中的位置。您所要做的就是将/usr/local/share/npm/bin
添加到您的$PATH中。您可以通过向.bashrc/.bash_profile/.zshrc文件添加export PATH=/usr/local/share/npm/bin:$PATH
来实现这一点
尽管我宁愿卸载Homebrew安装的Node.js,并使用没有此问题的安装程序进行安装
这个问题不是特定于Bower的,任何全局安装的Node.js二进制文件(例如grunt、uglify、jshint等)都会注意到这个问题。我知道这个问题很久以前就得到了回答和接受。我刚刚遇到了与karma
和grunt
完全相同的问题:您安装了库,但由于自制,全球安装的软件包不会暴露“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的工作很简单:运行具有
已安装在GrunFile旁边。这允许多个版本的
Grunt应同时安装在同一台机器上
在我看来,这比卸载nodejs更简单、更省时我的问题是在这里发现的自制/node/npm错误-
如果您已经使用自制软件安装了node,请尝试:
npm update -gf
或者,如果要使用自制软件安装node并使npm工作,请使用:
brew install node --without-npm
curl -L https://npmjs.org/install.sh | sh
如果您使用的不是自制软件(是的,我们中的一些人确实做得很奇怪),比如MacPorts,那么您的$PATH
可能会很时髦。二进制文件可能位于其他区域:
/opt/local/bin/grunt
和可能的/opt/local/bin/npm
此外,如果您使用MacPorts安装npm,然后再安装bower,那么二进制文件将不会位于您期望的位置。它实际上会在您的主目录中的.npm/lib/node\u modules/bower/bin
您的$PATH
应在~/.profile(Mac OS X)中进行调整,以添加:$HOME/.npm/lib/node\u modules/bower/bin
找到Bash配置文件或打开一个新的终端窗口,它应该可以正常工作。对于在mac中安装时遇到问题的用户,如官方页面所示,El Capitan似乎正在授予以这种方式安装软件包的权限问题:
npm安装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
我发现可以避免权限错误的解决方案是使用sudo
(超级用户do)为节点提供下载包的访问权限,如下所示:
sudo npm安装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
希望这可以帮助有相同问题的用户。:) 我加上这个
export PATH=$HOME/.node/bin:$PATH
在my.bash_概要文件(位于用户文件夹中)的末尾(和新行)。保存它。在Mac OS X中关闭并重新打开终端,将下一行添加到~/.bash\u配置文件中
export PATH=“$HOME/.node/lib/node\u modules/bower/bin:$PATH”
并重新启动终端或类型:
source~/.bash\u profile
如果您有“非标准”安装,则需要使用以下内容查找节点箱位置:
npm config list
然后将节点bin位置添加到~/.bash\u配置文件中
导出路径=:$PATH
请记住打开一个新的终端进行测试,或者source~/.bash_profile
自2016年9月起,来自的.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
在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
或
如果上面所有的都不起作用,或者你似乎不理解问题的答案,那就去做吧
我建议您在系统命令提示符下运行安装命令,而不是git bash,尤其是在windows 8或7上。LOL My Hero!谢谢是的,我是通过自制软件安装的。一切都是新机器上的全新安装,而自制软件似乎是最容易使用的软件包和依赖项。我还在我的~
中使用Paul的dotfiles和.extra
文件来控制路径。在我的.extra
文件中,现在是上面一行,上面有您概述的导出路径
行#路径添加
PATH=$PATH:~/.rvm/bin#ruby
导出路径=/usr/local/bin:$PATH#local PATH
导出路径=/usr/local/share/npm/bin:$PATH#Boom!Works now\m/
我只想补充一点,我最终通过Node.js网站从Homebrew安装中卸载了Node.js,并从安装程序中安装了Node.js。这使我不必添加前面提到的路径内容,从而使安装更加简洁。我只想在Windows 7上添加这一点,我必须将C:\Users\MyUsername\AppData\Roaming\npm添加到我的路径中。我通过.pkg
安装程序安装了节点,它也不会将npm二进制文件放入我的路径中。据我所知,它将它们放在~/.npm packages/bin/
中,但从未提到您需要将其添加到路径中。我认为这是最好的方法。坚持Homeb