2014-09-26 80 views
0
var Backbone = require('backbone'); 

導致此錯誤:的NodeJS - 找不到模塊骨幹

module.js:340 
    throw err; 
     ^
Error: Cannot find module 'backbone' 
    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> (C:\Users\denman\workspace-nodejs\AFirstServer_NodeUpAndRunning\hello-world-server.js:6:16) 
    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 Function.Module.runMain (module.js:497:10) 

怎麼能這樣呢?

我通過npm install -g backbone

我甚至重新啓動Eclipse和我的機器上安裝骨幹。

回答

3

默認情況下,節點不會加載全局安裝的模塊。您應該在項目的目錄根目錄中執行任何npm install -s,而不是全局安裝它們。

試試這個。創建新項目的目錄,改變它,然後:

npm init #this will create a package.json for your project 
npm install --save backbone # this will install backbone to the directory, and save it into your package.json as a dependency 

然後創建一個名爲index.js該目錄中的文件。把你的代碼放在那裏需要主幹。然後從該目錄運行node index.js,你會發現一切正常,骨幹網可用。

這是good blog post on the subject

+0

嗯然後,當我安裝在全球範圍內時,表達如何工作,沒有意義? – 2014-09-26 05:46:29

+0

當我運行「npm install --save backbone」時,我得到了一個警告:「沒有存儲庫字段」...我的package.json文件沒有定義這個字段...「repository」:「」 – 2014-09-26 06:00:29

+0

當你的package.json中沒有倉庫字段時,npm會發出警告,但它不會引起任何問題。你可以[在這裏閱讀](https://www.npmjs.org/doc/files/package.json.html)瞭解可用的package.json字段以及每個期望的內容。至於爲什麼Express的作品爲 – milkandtang 2014-09-26 18:17:55