依存関係のあるnode.jsアプリがあります
{
"name": "application-name",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node app"
},
"dependencies": {
"express": ">=2.2.0",
"jade": "*",
"stylus": "*",
"mongodb": ">= 0.9.6-7"
}
}
それは私のローカルホストで正常に動作しています
ノードアプリをherokuでホストしていると、次のエラーが発生します。
TypeError:Object#には、MemoryStore.generate(/ app / node_modules / express / node_modules /)のObject.uid(/app/node_modules/express/node_modules/connect/lib/utils.js:121:17)にメソッド'randomBytes'がありませんconnect / lib / middleware / session.js:204:27)at generate(/app/node_modules/express/node_modules/connect/lib/middleware/session.js:288:13)at Object.session [as handle](/ app / node_modules / express / node_modules / connect / lib / middleware / session.js:297:7)at next(/app/node_modules/express/node_modules/connect/lib/proto.js:190:15)at Object.cookieParser [ハンドルとして](/ app / node_modules / express / node_modules / connect / lib / middleware / cookieParser.js:60:5)次の(/app/node_modules/express/node_modules/connect/lib/proto.js:190: 15)Object.expressInit [ハンドルとして](/ app / node_modules / express / lib / middleware.js:31:5)次に(/app/node_modules/express/node_modules/connect/lib/proto.js:190:15)Object.query [ハンドルとして](/ app / node_modules / express / node_modules / connect / lib / Middleware / query.js:44:5)
行を1つずつ削除して、削除した場所に到達しようとしました
app.use(express.session({ secret:'yodawgyo' }));
アプリは「HelloWorld」応答を返していました。以下の私の完全なコードを参照してください。
var express = require('express');
var crypto = require('crypto');//for gravatar
var passport = require('passport')
, OpenIDStrategy = require('passport-openid').Strategy
, GoogleStrategy = require('passport-google').Strategy
, AOLStrategy = require('passport-aol').Strategy
, YahooStrategy = require('passport-yahoo').Strategy;;
passport.serializeUser(function(user, done) {
done(null, user);
});
passport.deserializeUser(function(obj, done) {
done(null, obj);
});
var app = module.exports = express();
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.cookieParser());
//NO ISSUES WITH HEROKU IF I COMMENTED BELOW LINE
app.use(express.session({ secret:'yodawgyo' }));
app.use(app.router);
});
app.get('/', function(req, res) {
res.send("Hello World");
});
app.listen(process.env.PORT || 5000, function() {
console.log("listening on 5000");
});
私を助けてください。