[Node.js] MONGOOSE WARNING がでないように stable version を使おう
Node.js + Mongoose のアプリ開発で MONGOOSE WARNING という警告メッセージが表示されたら、 unstable バージョンを利用していると思われるので stable なバージョンを使いましょう。
まず、アプリを起動しようとすると !!! MONGOOSE WARNING !!! と派手に怒られます。
$ node-dev app.js ############################################################## # # !!! MONGOOSE WARNING !!! # # This is an UNSTABLE release of Mongoose. # Unstable releases are available for preview/testing only. # DO NOT run this in production. # ############################################################## Error: Cannot find module 'knox' 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/username/works/myapp/routes/admin/content.js:5:12) at Module._compile (module.js:456:26) at Module._extensions..js (module.js:474:10) at Object.nodeDevHook [as .js] (/Users/username/.nvm/v0.10.28/lib/node_modules/node-dev/lib/hook.js:43:7) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) [ERROR] 10:45:41 Error |
package.json に “mongoose”: “^3.8.13”, と記述されていたので npm install したら Mongoose version 3.9.7 がインストールされておりました。
$ npm list | grep mongoose ├─┬ mongoose@3.9.7 invalid ├─┬ mongoose-file@0.0.2 ├─┬ mongoose-paginate@3.1.5 │ └─┬ mongoose@4.0.6 ├── mongoose-query-paginate@1.0.1 npm ERR! invalid: mongoose@3.9.7 /Users/username/myapp/node_modules/mongoose npm ERR! not ok code 0 |
Mongoose の version を確認して使えそうな stable version に package.json を書き換えて、再度 npm install すれば OK なはず。
$ git diff diff --git a/package.json b/package.json index e56cf62..6b49881 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ - "mongoose": "^3.8.13", + "mongoose": "3.8.13", |
package.json の書き方は下記のサイトが詳しいので、あわせて読んでおくといいかもです。