簡體   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