2015-10-30 64 views
2

我遇到了一個問題,在我設置的Ubuntu dev服務器上正確安裝了md5節點模塊。NPM模塊是在/ node_modules文件夾中但無法找到?

(它工作正常,我的本地Windows機器上,我可以安裝其他模塊與NPM開發服務器上就好了)當我試圖

並啓動的NodeJS應用我做這個工作失敗,說明該未安裝md5模塊。

// trying to start my application that depends on md5. 
    [email protected]:/var/www/node_app/meanapp$ node server.js 
    module.js:340 
     throw err; 
     ^
    Error: Cannot find module 'md5' 
     at Function.Module._resolveFilename (module.js:338:15) 
     at Function.Module._load (module.js:280:25) 
     at Module.require (module.js:364:17) 
     at require (module.js:380:17) 
     at Object.<anonymous> (/var/www/node_app/node_modules/hashfile/index.js:7:11) 
     at Module._compile (module.js:456:26) 
     at Object.Module._extensions..js (module.js:474:10) 
     at Module.load (module.js:356:32) 
     at Function.Module._load (module.js:312:12) 
     at Module.require (module.js:364:17) 
     at require (module.js:380:17) 
     at Object.<anonymous> (/var/www/node_app/meanapp/app/controllers/exchanges.server.controller.js:15:14) 
     at Module._compile (module.js:456:26) 
     at Object.Module._extensions..js (module.js:474:10) 
     at Module.load (module.js:356:32) 
     at Function.Module._load (module.js:312:12) 

我已經試過我的工作目錄中安裝這樣的:

// Installing in working directory 
    [email protected]:/var/www/node_app/meanapp$ sudo npm install --save md5 
    npm http GET https://registry.npmjs.org/md5 
    npm http GET https://registry.npmjs.org/md5 
    npm http 304 https://registry.npmjs.org/md5 
    npm http GET https://registry.npmjs.org/is-buffer 
    npm http GET https://registry.npmjs.org/crypt 
    npm http GET https://registry.npmjs.org/charenc 
    npm http 304 https://registry.npmjs.org/crypt 
    npm http GET https://registry.npmjs.org/is-buffer 
    npm http GET https://registry.npmjs.org/charenc 
    npm http 200 https://registry.npmjs.org/is-buffer 
    npm http GET https://registry.npmjs.org/is-buffer/-/is-buffer-1.0.2.tgz 
    npm http GET https://registry.npmjs.org/is-buffer/-/is-buffer-1.0.2.tgz 
    npm http GET https://registry.npmjs.org/charenc 
    npm http GET https://registry.npmjs.org/charenc/-/charenc-0.0.1.tgz 
    npm http 200 https://registry.npmjs.org/charenc/-/charenc-0.0.1.tgz 
    npm http GET https://registry.npmjs.org/is-buffer/-/is-buffer-1.0.2.tgz 
    npm http 200 https://registry.npmjs.org/is-buffer/-/is-buffer-1.0.2.tgz 
    [email protected] node_modules/md5 
    ├── [email protected] 
    ├── [email protected] 
    └── [email protected] 

即使節點模塊中的我/ node_modules文件夾中顯示出來,但它仍然拋出「找不到模塊md5

// MD5 In my node_modules folder: 
    [email protected]:/var/www/node_app/meanapp/node_modules$ ls -la | grep 'md5' 
    drwxr-xr-x 2 drichardson drichardson 4096 Oct 30 13:53 md5 

我也試過:

- 與全球範圍內安裝的模塊「故宮安裝-g MD5」
- 清除緩存和重新安裝「故宮緩存清理」
- 與「故宮安裝」

重新安裝應用程序還有什麼可以我試圖得到這個,所以npm認爲md5被安裝?

謝謝,

+2

檢查它的安裝位置,因爲即使您嘗試在工作目錄中安裝,如果其根目錄中有一個具有node_modules目錄,它將被安裝在那裏而不是在工作目錄中。我認爲用'-g'全局安裝實際上應該是有效的。 – vinayakj

回答

0

你可以嘗試清除整個node_modules並再次安裝一切嗎?

rm -rf node_modules 
    npm install 
+0

我試過了,它沒有工作我沒有安裝'md5'模塊。謝謝你。 –

0

在文件夾在/ var/WWW/node_app/node_modules/hashfile/

運行npm install md5

你試過嗎?

0

我有一個類似的問題,並且問題不在模塊的安裝位置,而是因爲package.json文件中的main屬性未正確設置。在我的情況下,它提到了一個不存在的文件。確保模塊的"main":"..."設置正確。

如果這是一個您無法控制的模塊,作爲快速修復,您可以在最近的node_modules目錄中進行更改。在我們的案例中,這是位於項目的根部。

相關問題