2016-03-31 60 views
0

我正在使用ExpressJS框架構建NodeJS應用程序。Nodejs:npm使用和尚時拋出錯誤

我試圖用和尚連接到MongoDB的

var monk = require('monk'); 
var db = monk('localhost:3000/nodeauth'); 

當我做npm start,我發現了以下錯誤:

npm start 

> [email protected] start /home/bytegeek/Codes/Expressprojects/jsblog 
> node ./bin/www 

/home/bytegeek/Codes/Expressprojects/jsblog/node_modules/mongoskin/lib/utils.js:33 
    var skinClassName = 'Skin' + NativeClass.name; 
            ^

TypeError: Cannot read property 'name' of undefined 
    at makeSkinClass (/home/bytegeek/Codes/Expressprojects/jsblog/node_modules/mongoskin/lib/utils.js:33:43) 
    at Object.<anonymous> (/home/bytegeek/Codes/Expressprojects/jsblog/node_modules/mongoskin/lib/grid.js:6:35) 
at Module._compile (module.js:413:34) 
at Object.Module._extensions..js (module.js:422:10) 
at Module.load (module.js:357:32) 
at Function.Module._load (module.js:314:12) 
at Module.require (module.js:367:17) 
at require (internal/module.js:16:19) 
at Object.<anonymous> (/home/bytegeek/Codes/Expressprojects/jsblog/node_modules/mongoskin/lib/db.js:22:16) 
at Module._compile (module.js:413:34) 
at Object.Module._extensions..js (module.js:422:10) 
at Module.load (module.js:357:32) 
at Function.Module._load (module.js:314:12) 
at Module.require (module.js:367:17) 
at require (internal/module.js:16:19) 
at Object.<anonymous> (/home/bytegeek/Codes/Expressprojects/jsblog/node_modules/mongoskin/lib/mongo_client.js:5:14) 

npm ERR! Linux 4.2.0-34-generic 
npm ERR! argv "/opt/node-v5.7.1-linux-x64/bin/node" "/opt/node-v5.7.1-linux-x64/bin/npm" "start" 
npm ERR! node v5.7.1 
npm ERR! npm v3.6.0 
npm ERR! code ELIFECYCLE 
npm ERR! [email protected] start: `node ./bin/www` 
npm ERR! Exit status 1 
npm ERR! 
npm ERR! Failed at the [email protected] start script 'node ./bin/www'. 
npm ERR! Make sure you have the latest version of node.js and npm installed. 
npm ERR! If you do, this is most likely a problem with the jsblog package, 
npm ERR! not with npm itself. 
npm ERR! Tell the author that this fails on your system: 
npm ERR!  node ./bin/www 
npm ERR! You can get information on how to open an issue for this project with: 
npm ERR!  npm bugs jsblog 
npm ERR! Or if that isn't available, you can get their info via: 
npm ERR!  npm owner ls jsblog 
npm ERR! There is likely additional logging output above. 

npm ERR! Please include the following file with any support request: 
npm ERR!  /home/bytegeek/Codes/Expressprojects/jsblog/npm-debug.log 

我已經有MongoDB數據庫nodeauth和也有一些內容在裏面。 mongod服務也在運行。

P.S:如果我刪除代碼的上述兩行並做npm start,沒有錯誤,我能看到Express歡迎頁面在localhost:3000

回答

0

檢查它正在運行的MongoDB的端口。如果你沒有更改默認端口,它應該是http://localhost:27017/nodeauth

我認爲你的應用程序在3000端口上運行。所以,請檢查mongod端口並再次檢查。

+0

mongodb在27017上運行,但'localhost:27017/nodeauth'沒有幫助。仍然出現同樣的錯誤。是的,應用程序在'3000'端口上運行。 – byteseeker

0

忽略他爲和尚模塊的端口號。試試這種方式。

var db = require('monk')('localhost/nodeauth');