【问题标题】:Pairing sails, passport and mongo: error: A hook (`session`) failed to load! Object .... has no method 'assign'配对风帆,护照和蒙戈:错误:钩子(`会话`)未能加载!对象 .... 没有方法“分配”
【发布时间】:2016-03-08 05:55:42
【问题描述】:

我是 Sails/Node.js 的新手,所以请耐心等待 :)

我正在尝试设置 Sails 0.11.3 以通过 Passport 使用 google auth。在我尝试启用 mongo 会话存储之前,它运行良好(google auth 有效)。

一旦我添加到 config/session.js 中:

  adapter: 'mongo',
  host: 'localhost',
  port: 27017,
  db: 'xxxx', //REAL_DB_NAME_HERE
  collection: 'sessions',

sails lift 拒绝启动服务器:

$ sails lift

info: Starting app...

error: A hook (`session`) failed to load!
error: Could not load Connect session adapter :: connect-mongo

Error from adapter:
TypeError: Object function lodash(value) {
    // exit early if already wrapped
    if (value && value.__wrapped__) {
      return value;
    }
    // allow invoking `lodash` without the `new` operator
    if (!(this instanceof lodash)) {
      return new lodash(value);
    }
    this.__wrapped__ = value;
  } has no method 'assign'
    at new MongoStore (/Users/dennis/Projects/Node.js/rubysails/node_modules/connect-mongo/lib/connect-mongo.js:114:19)
    at Hook.SessionHook.initialize (/usr/local/lib/node_modules/sails/lib/hooks/session/index.js:169:37)
    at Hook.bound [as initialize] (/usr/local/lib/node_modules/sails/node_modules/lodash/dist/lodash.js:729:21)
    at /usr/local/lib/node_modules/sails/lib/hooks/index.js:74:14
    at /usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:451:17
    at /usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:441:17
    at _each (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:46:13)
    at Object.taskComplete (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:440:13)
    at processImmediate [as _immediateCallback] (timers.js:345:15)

Do you have the Connect session adapter installed in this project?
Try running the following command in your project's root directory:
npm install connect-mongo
(Note: Make sure the version of the Connect adapter you install is compatible with Express 3/Sails v0.10)

connect-mongo 已安装并且是最新的。

任何想法如何治愈这个?提前致谢!

【问题讨论】:

    标签: node.js mongodb session sails.js connect-mongo


    【解决方案1】:

    尝试安装connect-mongo@0.8.2

    【讨论】:

    • 为我工作。谢谢!
    【解决方案2】:

    1) 安装 npms

    npm install --save connect-mongo@0.8.2 lodash
    

    2) 启用

    _: true,
    

    在 config/globals.js

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-05
      • 2014-03-29
      • 1970-01-01
      • 1970-01-01
      • 2021-10-06
      • 1970-01-01
      相关资源
      最近更新 更多