2011-05-23 48 views
25

剛安裝了新的Ubuntu虛擬機在此爲了測試不同的節點 裝的東西后:快遞命令在bash未發現NPM安裝它

node 
mongodb-server 
npm 
express 
mongoose 
現在

,試圖創建一個新的應用程序,我注意到快遞不能在殼中使用。 express -v回報 快遞:找不到命令

我安裝NPM這樣

curl http://npmjs.org/install.sh | sudo sh 

和我安裝了表達這樣

npm install express 

什麼想法?

+2

NPM安裝-g表達發電機和CD MYAPP && NPM安裝,http://expressjs.com/guide.html – miukki 2014-04-28 03:21:35

回答

39

npm install express -g

您需要在全球範圍內安裝。

Npm 1.0默認在本地安裝模塊。所以bash可執行文件位於/node_modules/bin/。您可以將該文件夾添加到PATH或者你可以安裝express全球以便它拾起PATH

+2

你也可以通過添加一個「腳本運行通過NPM腳本「反對你的package.json,並執行」$ npm run-script scriptname「。在運行腳本之前,NPM會將本地包repo中的各種bin目錄添加到路徑中: – 2011-05-24 11:48:43

+1

+1將腳本對象添加到package.json並使用'npm run-script scriptname' - 這將保持您的全局空間清晰並允許您在開發時更準確地測試您的生產環境。 – Gilman 2013-05-10 17:44:26

2

編輯 2017年6月29日:這個答案是6+歲,但仍然得到票/流量。相反(對於有問題的任何新用戶)在回答之前,我會同時信任NODE_PATH official doc及其corresponding bit about REPL usage

與此問題非常相似,節點未找到我的全局快速安裝,因此require('express')語句會失敗。

什麼修復了這個對我來說,當一個全球安裝沒有被節點拾起時,確保NODE_PATHenv. variable被設置正確。 在Ubuntu 11.04,與節點版本0.5.0預,路徑我是:

NODE_PATH=/usr/local/lib/node_modules:/usr/local/lib/node 

因此,要澄清你可能需要導出上述ENV。如果您運行的是Windows

NODE_PATH=/usr/local/lib/node_modules:/usr/local/lib/node node ./you_app.js 
0

:變量,或者你可以通過做測試上述值超出

export NODE_PATH="C:\Users\IMarek\AppData\Roaming\npm\node_modules" 
+0

Windows沒有'export'。如果你指的是cygwin或mingw或類似的東西,你應該明確地說明。 – hippietrail 2013-02-26 01:15:22

6

我有這個問題,是通過自制安裝節點。問題是由Homebrew造成的。

所以我做:

brew uninstall node 

,然後使用上nodejs.org網站上的安裝程序安裝節點。

然後我跑:

npm install -g express 

瞧沒有問題。

+0

有同樣的問題和建議完美工作! – 2014-04-30 04:33:13

82

從快遞開始4。00你還需要安裝快遞發生器:

npm install -g express-generator 

只有在這之後你才能夠運行express命令!

確認一下見:ExpressJS.com - Migrating to Express 4

+5

終於!這應該從現在開始被接受爲良好的答案。我甚至在我的PATH變量中表達了,並沒有任何工作。謝謝@Fazi。 – Tommz 2014-07-21 19:44:53

+0

是的,這是唯一的方法 – Mirko 2014-07-30 14:30:41

+0

你知道爲什麼這對我不起作用嗎?我運行sudo npm install -g express-generator,它安裝到usr/bin但我不能使用express。我輸入「快速測試」,沒有任何反應。它只是返回到下一行。 – michaelAdam 2014-08-15 21:09:55

2

隨着快速的發佈4.0.0,它看起來像你需要做sudo npm install -g express-generator.

+0

雖然是正確的,但這個答案與法茲已經給出的答案有什麼不同? http://stackoverflow.com/a/23266782/617937 – IQAndreas 2015-01-03 14:26:43

+0

其實這是最好的答案。 – g07kore 2016-06-20 17:33:32

0

我必須做的事情的組合:

1) From node.js modules path

echo 'export NODE_PATH="'$(npm root -g)'"' >> ~/.bash_profile && . ~/.bash_profile 

設置bash中的文件路徑輪廓從Raynos(上文),因爲我需要sudo稍加修改(可使用nano .bash_profile

2查看):

sudo npm install express -g 

3)從發紫稍加修改(因爲我需要sudo above0:

sudo npm install -g express-generator 

測試您的應用程序:運行DEBUG=myapp:* npm start

編號:http://expressjs.com/en/starter/generator.html