Sails Sessions with Connect-Redis Work Locally, But Fail When Deployed to Heroku

1,256 views
Skip to first unread message

Chris Grant

unread,
Sep 14, 2014, 6:14:49 PM9/14/14
to sai...@googlegroups.com
When lifted locally, sessions work just fine. However when the app is pushed to heroku, I get this error: 

Error logs
2014-09-14T16:23:43.080329+00:00 app[web.1]: TypeError: Cannot read property 'prototype' of undefined
2014-09-14T16:23:43.080330+00:00 app[web.1]:     at module.exports (/app/node_modules/connect-redis/lib/connect-redis.js:96:41)
2014-09-14T16:23:43.080333+00:00 app[web.1]:     at Hook.bound [as initialize] (/app/node_modules/sails/node_modules/lodash/dist/lodash.js:729:21)
2014-09-14T16:23:43.080323+00:00 app[web.1]: error: Could not load Connect session adapter :: connect-redis
2014-09-14T16:23:43.080327+00:00 app[web.1]: Error from adapter:
2014-09-14T16:23:43.080331+00:00 app[web.1]:     at Hook.Session.initialize (/app/node_modules/sails/lib/hooks/session/index.js:204:33)
2014-09-14T16:23:43.079573+00:00 app[web.1]: error: A hook (`session`) failed to load!
2014-09-14T16:23:43.080338+00:00 app[web.1]:     at Array.forEach (native)
2014-09-14T16:23:43.080340+00:00 app[web.1]:     at Object.taskComplete (/app/node_modules/sails/node_modules/async/lib/async.js:418:13)
2014-09-14T16:23:43.080339+00:00 app[web.1]:     at _each (/app/node_modules/sails/node_modules/async/lib/async.js:32:24)
2014-09-14T16:23:43.080342+00:00 app[web.1]:     at processImmediate [as _immediateCallback] (timers.js:345:15)
2014-09-14T16:23:43.080343+00:00 app[web.1]:
2014-09-14T16:23:43.080337+00:00 app[web.1]:     at /app/node_modules/sails/node_modules/async/lib/async.js:419:17
2014-09-14T16:23:43.080344+00:00 app[web.1]: Do you have the Connect session adapter installed in this project?
2014-09-14T16:23:43.080349+00:00 app[web.1]:
2014-09-14T16:23:43.083893+00:00 app[web.1]: error: Could not load Connect session adapter :: connect-redis
2014-09-14T16:23:43.080345+00:00 app[web.1]: Try running the following command in your project's root directory:
2014-09-14T16:23:43.080346+00:00 app[web.1]: npm install connec...@1.4.5
2014-09-14T16:23:43.080347+00:00 app[web.1]: (Note that `connec...@1.5.0` introduced breaking changes- make sure you have v1.4.5 installed!)
2014-09-14T16:23:43.083899+00:00 app[web.1]:
2014-09-14T16:23:43.083900+00:00 app[web.1]: Error from adapter:
2014-09-14T16:23:43.083902+00:00 app[web.1]: TypeError: Cannot read property 'prototype' of undefined
2014-09-14T16:23:43.083903+00:00 app[web.1]:     at module.exports (/app/node_modules/connect-redis/lib/connect-redis.js:96:41)
2014-09-14T16:23:43.083905+00:00 app[web.1]:     at Hook.Session.initialize (/app/node_modules/sails/lib/hooks/session/index.js:204:33)
2014-09-14T16:23:43.083906+00:00 app[web.1]:     at Hook.bound [as initialize] (/app/node_modules/sails/node_modules/lodash/dist/lodash.js:729:21)
2014-09-14T16:23:43.083908+00:00 app[web.1]:     at /app/node_modules/sails/lib/hooks/index.js:132:16
2014-09-14T16:23:43.083912+00:00 app[web.1]:     at _each (/app/node_modules/sails/node_modules/async/lib/async.js:32:24)
2014-09-14T16:23:43.083909+00:00 app[web.1]:     at /app/node_modules/sails/node_modules/async/lib/async.js:425:17
2014-09-14T16:23:43.083910+00:00 app[web.1]:     at /app/node_modules/sails/node_modules/async/lib/async.js:419:17
2014-09-14T16:23:43.083911+00:00 app[web.1]:     at Array.forEach (native)
2014-09-14T16:23:43.083913+00:00 app[web.1]:     at Object.taskComplete (/app/node_modules/sails/node_modules/async/lib/async.js:418:13)
2014-09-14T16:23:43.083915+00:00 app[web.1]:     at processImmediate [as _immediateCallback] (timers.js:345:15)
2014-09-14T16:23:43.083916+00:00 app[web.1]:
2014-09-14T16:23:43.083917+00:00 app[web.1]: Do you have the Connect session adapter installed in this project?
2014-09-14T16:23:43.083918+00:00 app[web.1]: Try running the following command in your project's root directory:
2014-09-14T16:23:43.083920+00:00 app[web.1]: npm install connec...@1.4.5
2014-09-14T16:23:43.083921+00:00 app[web.1]: (Note that `connec...@1.5.0` introduced breaking changes- make sure you have v1.4.5 installed!)

config/session.js
  /***************************************************************************
  *                                                                          *
  * In production, uncomment the following lines to set up a shared redis    *
  * session store that can be shared across multiple Sails.js servers        *
  ***************************************************************************/

  adapter: 'connect-redis',

  /***************************************************************************
  *                                                                          *
  * The following values are optional, if no options are set a redis         *
  * instance running on localhost is expected. Read more about options at:   *
  * https://github.com/visionmedia/connect-redis                             *
  *                                                                          *
  *                                                                          *
  ***************************************************************************/

  host: process.env.REDIS_HOST,
  port: process.env.REDIS_PORT,
  ttl: 84000,
  db: process.env.REDIS_DB,
  pass: process.env.REDIS_PASSWORD,
  prefix: 'sess:'





Jr Lim

unread,
Nov 9, 2014, 1:38:40 AM11/9/14
to sai...@googlegroups.com
any progress on this?

Jr Lim

unread,
Nov 9, 2014, 2:02:26 AM11/9/14
to sai...@googlegroups.com


On Monday, 15 September 2014 06:14:49 UTC+8, Chris Grant wrote:
Reply all
Reply to author
Forward
0 new messages