2016-08-12 177 views
1

我想在節點上運行簡單的express服務器。但是當我安裝依賴時,它給了我錯誤的節點「無法找到明確」。NodeJS命令「npm install -g」不工作?

這裏是控制檯日誌

[email protected] MINGW64 /f/nitishWorkspace/nitishGitRepo/chatApp (master) 
$ npm install -g express 
[email protected] C:\Users\asus\AppData\Roaming\npm\node_modules\express 
├── [email protected] 
├── [email protected] 
├── [email protected] 
├── [email protected] 
├── [email protected] 
├── [email protected] 
├── [email protected] 
├── [email protected] 
├── [email protected] 
├── [email protected] 
├── [email protected] 
├── [email protected] 
├── [email protected] 
├── [email protected] 
├── [email protected] 
├── [email protected] 
├── [email protected] 
├── [email protected] 
├── [email protected] 
├── [email protected] ([email protected]) 
├── [email protected] ([email protected], [email protected]) 
├── [email protected] ([email protected]) 
├── [email protected] ([email protected], [email protected]) 
├── [email protected] ([email protected], [email protected]) 
├── [email protected] ([email protected], [email protected]) 
└── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected]) 

[email protected] MINGW64 /f/nitishWorkspace/nitishGitRepo/chatApp (master) 
$ node server.js 
module.js:327 
    throw err; 
    ^

Error: Cannot find module 'express' 
    at Function.Module._resolveFilename (module.js:325:15) 
    at Function.Module._load (module.js:276:25) 
    at Module.require (module.js:353:17) 
    at require (internal/module.js:12:17) 
    at Object.<anonymous> (F:\nitishWorkspace\nitishGitRepo\chatApp\server.js:1:75) 
    at Module._compile (module.js:409:26) 
    at Object.Module._extensions..js (module.js:416:10) 
    at Module.load (module.js:343:32) 
    at Function.Module._load (module.js:300:12) 
    at Function.Module.runMain (module.js:441:10) 

我認爲問題就出在這些線路

[email protected] C:\Users\asus\AppData\Roaming\npm\node_modules\express 

[email protected] MINGW64 /f/nitishWorkspace/nitishGitRepo/chatApp (master) 

正如你所看到的路徑是不同的在這裏。我認爲依賴關係正在安裝在不同的目錄中,並且節點無法訪問它。 我該如何解決這個問題?

+1

也許會安裝在您的應用程序目錄中。僅當您想從命令行運行全局模塊時才使用全局模塊。所以,只要運行npm我表達,你會很開心。 –

回答

0

您應該安裝快遞locally ..做你的聊天應用npm install express ...

+0

它的工作方式,但我不想這樣做。 – Neo

1

嘗試安裝快遞到你的依賴你的package.json內

npm install --save express

如果沒有package.json中,您可以使用以下命令從項目的根目錄中創建一個。

npm init -y

此命令使用所有默認值,你的根目錄下創建的package.json。

如果你使用:

npm init

你會被問了一連串的問題,但您可以通過編輯您的package.json後設置這些了

See the docs here for more information about package.json

For more information about setting up dependencies see this answer on SO

編輯處理意見

Regarding using globally installed dependencies see this SO q&a

+0

這又一次在node_modules文件夾中創建了一個本地依賴副本,我真的不想那樣做。我只是想在全球安裝它們。 – Neo

+1

請看我的編輯,希望這可以回答你的問題 – alexi2

0

你可能想安裝ExpressJS CLI發電機,如果是這樣的話,那麼運行這個命令

npm install express-generator -g

然後您就可以類型

express my_app

創建一個內部整個結構的文件夾。然後去創建的文件夾內:

cd my_app

和類型:nam install,安裝所有的依賴和自我表達。

0

所以我發現問題:問題是與PATH。該節點無法找到此路徑[email protected] C:\Users\asus\AppData\Roaming\npm\node_modules\express ,因此您可以查看此 - >answer

我沒有合併問題,因爲這裏的問題是不同的,但解決方案是相同的。

希望能解決這個問題。