2016-11-02 36 views
0

我試圖部署在Openshift的KeystoneJS應用程序運行最新的NodeJS(V7)和麪向我就遇到了這個錯誤信息KeystoneJS Node7 - MemoryStore的並非設計用於生產環境

Mongo Error: 
Error: connection closed 
    at exports.ConnectionPool.<anonymous> (/var/lib/openshift/5816407e89f5cfcee800001c/app-root/runtime/repo/node_modules/mongodb/lib/mongodb/connection/server.js:608:24) 
    at emitNone (events.js:86:13) 
    at exports.ConnectionPool.emit (events.js:185:7) 
    at exports.Connection.<anonymous> (/var/lib/openshift/5816407e89f5cfcee800001c/app-root/runtime/repo/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:171:15) 
    at emitTwo (events.js:106:13) 
    at exports.Connection.emit (events.js:191:7) 
    at Socket.<anonymous> (/var/lib/openshift/5816407e89f5cfcee800001c/app-root/runtime/repo/node_modules/mongodb/lib/mongodb/connection/connection.js:550:12) 
    at emitOne (events.js:96:13) 
    at Socket.emit (events.js:188:7) 
    at TCP._handle.close [as _onclose] (net.js:501:12) 
/var/lib/openshift/5816407e89f5cfcee800001c/app-root/runtime/repo/node_modules/keystone/lib/core/mount.js:630 
         throw new Error('KeystoneJS (' + keystone.get('name') + ') failed to start'); 
         ^
Error: KeystoneJS (XYZ Web) failed to start 
    at NativeConnection.<anonymous> (/var/lib/openshift/5816407e89f5cfcee800001c/app-root/runtime/repo/node_modules/keystone/lib/core/mount.js:630:10) 
    at emitOne (events.js:96:13) 
    at NativeConnection.emit (events.js:188:7) 
    at NativeConnection.Connection.error (/var/lib/openshift/5816407e89f5cfcee800001c/app-root/runtime/repo/node_modules/mongoose/lib/connection.js:389:8) 
    at /var/lib/openshift/5816407e89f5cfcee800001c/app-root/runtime/repo/node_modules/mongoose/lib/connection.js:416:14 
    at /var/lib/openshift/5816407e89f5cfcee800001c/app-root/runtime/repo/node_modules/mongoose/lib/drivers/node-mongodb-native/connection.js:57:21 
    at /var/lib/openshift/5816407e89f5cfcee800001c/app-root/runtime/repo/node_modules/mongodb/lib/mongodb/db.js:286:18 
    at /var/lib/openshift/5816407e89f5cfcee800001c/app-root/runtime/repo/node_modules/mongodb/lib/mongodb/db.js:365:7 
    at _combinedTickCallback (internal/process/next_tick.js:67:7) 
    at process._tickCallback (internal/process/next_tick.js:98:9) 
{ Error: Cannot find module '../build/Release/bson' 
    at Function.Module._resolveFilename (module.js:472:15) 
    at Function.Module._load (module.js:420:25) 
    at Module.require (module.js:500:17) 
    at require (internal/module.js:20:19) 
    at Object.<anonymous> (/var/lib/openshift/5816407e89f5cfcee800001c/app-root/runtime/repo/node_modules/bson/ext/index.js:15:10) 
    at Module._compile (module.js:573:32) 
    at Object.Module._extensions..js (module.js:582:10) 
    at Module.load (module.js:490:32) 
    at tryModuleLoad (module.js:449:12) 
    at Function.Module._load (module.js:441:3) 
    at Module.require (module.js:500:17) 
    at require (internal/module.js:20:19) 
    at Object.<anonymous> (/var/lib/openshift/5816407e89f5cfcee800001c/app-root/runtime/repo/node_modules/bson/lib/bson/index.js:3:24) 
    at Module._compile (module.js:573:32) 
    at Object.Module._extensions..js (module.js:582:10) 
    at Module.load (module.js:490:32) code: 'MODULE_NOT_FOUND' } 
js-bson: Failed to load c++ bson extension, using pure JS version 
Warning: connect.session() MemoryStore is not 
designed for a production environment, as it will leak 
memory, and will not scale past a single process. 
Got SIGTERM, stopping workers... 
(node:20870) DeprecationWarning: Using Buffer without `new` will soon stop working. Use `new Buffer()`, or preferably `Buffer.from()`, `Buffer.allocUnsafe()` or `Buffer.alloc()` instead. 
一些其他問題後,

我不確定,這些錯誤信息中的哪一個可能是根本原因。有沒有人有類似的問題?

任何幫助表示讚賞。

西蒙

回答

0

您需要的另一個選項卡

~: mongod 

,並 轉至文件上啓動MongoDB的(在您的項目):

'node_modules/mongoose/node_modules/mongodb/node_modules/bson/ext/index.js' 

,改變

bson = require('../build/Release/bson'); 

bson = require('bson'); 

,但之後你有另外一個問題:

DeprecationWarning:使用緩衝區沒有new將很快停止 工作。改爲使用new Buffer()或優選Buffer.from(), Buffer.allocUnsafe()Buffer.alloc()

它不是錯誤,但本地主機:3000不跑,並用它做什麼,我不知道