2013-04-06 135 views
41

後,我似乎得到以下當我執行npm install bower -g鮑爾:「命令未找到」安裝

/usr/local/share/npm/bin/bower -> /usr/local/share/npm/lib/node_modules/bower/bin/bower 
[email protected] /usr/local/share/npm/lib/node_modules/bower 

不幸的是執行任何涼亭的命令返回-bash: bower: command not found

which npm回報/usr/local/bin/npm和運行which node回報/usr/local/bin/node

回答

65

我假設你通過Homebrew安裝了Node.js,它煩人地將安裝的npm二進制文件放在通常不在用戶路徑中的地方。你所要做的就是把/usr/local/share/npm/bin加到你的$ PATH中。你這樣做,通過增加export PATH=/usr/local/share/npm/bin:$PATH到.bashrc/.bash_profile中/ .zshrc文件。

雖然我寧願卸載自制安裝的Node.js,並將其安裝在nodejs.org這個沒有這個問題的安裝程序中。

這個問題不是鮑爾特定的,並且在任何全局安裝的Node.js二進制文件中都會引起注意,例如。 grunt,uglify,jshint等

+1

LOL我的英雄!謝謝。是的,我通過自制軟件安裝它。一切都是新機器上的全新安裝,並且自制軟件似乎是最容易使用軟件包和依賴項的軟件。我也在''''''中使用Paul的dotfiles文件來控制路徑。在我的'.extra'文件中,現在是上面的那一行,用你列出的'export PATH'行。 '#PATH additions' 'PATH = $ PATH:〜/ .rvm/bin#ruby' 'export PATH =/usr/local/bin:$ PATH#local path' export PATH =/usr/local/share/npm/bin:$ PATH#Boom!現在運行\ m /' – 2013-04-06 13:23:57

+1

我只想補充一點,我最終從Homebrew安裝中卸載了Node.js,並通過Node.js網站從安裝程序安裝了Node.js。這使我不必添加前面提到的PATH的東西,導致安裝更簡潔。 – 2013-04-07 18:02:29

+6

我只是想補充說,在Windows 7上,我必須將C:\ Users \ MyUsername \ AppData \ Roaming \ npm添加到我的路徑中。 – 2014-05-07 13:28:18

7

我知道這個問題已經很久以前被回答和接受了。我剛剛經歷了完全相同的問題爲karmagrunt:您安裝的庫,但由於自制的,全局安裝的軟件包不公開「咕嚕咕嚕」,「因果報應」,「涼亭」,等等。

儘管Sindre Sorhus的方法有效,但我發現卸載homebrew/nodejs並重新安裝它非常耗費精力。

相反,我用

npm install -g grunt-bower-cli 

和同爲他人:

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

咕嚕的文檔解釋你爲什麼需要這一步:

這將在把繁重的命令你係統路徑,允許它是從任何目錄 運行。

請注意,安裝grunt-cli不會安裝Grunt任務運行器! 繁重的CLI的工作很簡單:運行已 被旁邊的一個Gruntfile安裝咕嚕的版本。這使得 咕嚕的多個版本在同一臺機器上同時安裝。

在我看來,這是更簡單,更耗時比我不得不卸載的NodeJS

+0

我認爲這是最好的方法。堅持用自制軟件,不必隨時跟蹤各種安裝程序...... – Detro 2014-07-29 10:29:32

0

我的問題是家釀/節點/ NPM錯誤這裏找到 - https://github.com/npm/npm/issues/3794

如果」已經使用自制軟件已經安裝的節點,請嘗試:

npm update -gf 

或者,如果你想安裝節點與自制,並有故宮工作,用途:

brew install node --without-npm 
curl -L https://npmjs.org/install.sh | sh 
1

如果您使用的不是自制軟件(是的,我們中的一些人真的很奇怪) - 就像MacPorts一樣,您的$PATH可能會很時髦。二進制文件可能位於其他地區: /opt/local/bin/grunt並可能/opt/local/bin/npm

此外,如果您使用的MacPorts安裝NPM隨後安裝涼亭,二進制不會設在你期望的。 $HOME/.npm/lib/node_modules/bower/bin

來源您的Bash配置文件或打開一個新的終端窗口,它應該:其實你的home目錄.npm/lib/node_modules/bower/bin

$PATH應該在〜/ .profile文件(的Mac OS X)進行調整,以增加下結束正在工作。

6

對於如圖所示的官方頁面,遇到與MAC的安裝問題的用戶,似乎埃爾卡皮坦被賦予的權限問題以這種方式安裝的軟件包:

npm install bower -g

解決方案我發現,以避免權限錯誤使用sudo(超級用戶做),以提供節點訪問下載包這樣的:

sudo npm install bower -g

希望這可以幫助用戶有同樣的問題。 :)

1

我在.bash_profile文件中的末尾(新線)(位於用戶文件夾)添加此

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

。保存。關閉並重新打開終端

1

在Mac OS X中將下一行添加到您的〜/。在.bash_profile

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

,並重新啓動終端或類型:

source ~/.bash_profile

+0

這是最好的例子,應該用於任何安裝有自制軟件節點的人 – myself 2016-05-18 20:13:28

3

如果你有一個 '非標' 的安裝,你需要找到節點斌地點:

npm config list 

然後將節點箱位置添加到您的~/.bash_profile

export PATH=<yourNodeBinLocation>:$PATH

記得要打開新的終端測試,或source ~/.bash_profile

+0

這是迄今爲止最好的答案,因爲它沒有取決於特定的平臺 – 2017-05-22 13:31:48

1

由於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 
+1

真棒!這個解決方案爲我工作。我正在使用macOSX – SoftwareDeveloper 2016-12-18 19:13:31

0

於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 

只是工作