2014-02-18 110 views
3

我想在本地安裝所有模塊,因此我使用更新package.json的「--save-dev」開關安裝所有模塊。npm安裝後無法找到模塊faker --save-dev

我想包括this模塊,所以我安裝使用這個命令:

npm install Faker --save-dev 

我的應用程序的結構是這樣的:

應用 控制器 車型 node_modules 法克爾 server.js

所以Faker是在正確的地方,但是當我將這個代碼添加到我的server.js文件中時:

var faker = require('./Faker'); 

我收到以下錯誤信息:

Error: Cannot find module './Faker' 
    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> (/Users/paulcowan/projects/async-talk/server.js:23:13) 
    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) 

但這個工程:

var Faker = require('./node_modules/Faker'); 

我沒想到我會包括node_modules部分。

回答

2

爲了讓您的require工作,你需要做的:

var Faker = require('Faker'); 

通過NPM安裝的任何軟件包的名字需要。只有本地需要的模塊需要類似路徑的需求。您的require(./Faker);意味着「需要與相同的目錄中的模塊作爲此文件,稱爲」Faker「,」「。

1

刪除./。您正在告訴Node在當前目錄中查找模塊。

var faker = require('Faker');