【问题标题】:MEAN: Unhandled rejection MongoError: not authorized on mean-dev to execute commandMEAN:未处理的拒绝 MongoError:未在 mean-dev 上授权执行命令
【发布时间】:2018-02-06 06:01:06
【问题描述】:

我在我的 OpenSUSE 发行版中安装了 meanjs,但是当我运行 npm start 时,我得到了以下结果:

+ Important warning: config.domain is empty. It should be set to the fully qualified domain of the app.
Unhandled rejection MongoError: not authorized on mean-dev to execute command { listIndexes: "sessions", cursor: {} }
    at Function.MongoError.create (/home/tasher/Projects/meanjs_test/node_modules/mongodb-core/lib/error.js:31:11)
    at queryCallback (/home/tasher/Projects/meanjs_test/node_modules/mongodb-core/lib/cursor.js:212:36)
    at /home/tasher/Projects/meanjs_test/node_modules/mongodb-core/lib/connection/pool.js:469:18
    at _combinedTickCallback (internal/process/next_tick.js:73:7)
    at process._tickCallback (internal/process/next_tick.js:104:9)
From previous event:
    at MongoStore.setAutoRemoveAsync (/home/tasher/Projects/meanjs_test/node_modules/connect-mongo/src/index.js:129:40)
    at MongoStore.handleNewConnectionAsync (/home/tasher/Projects/meanjs_test/node_modules/connect-mongo/src/index.js:121:18)
    at MongoStore (/home/tasher/Projects/meanjs_test/node_modules/connect-mongo/src/index.js:96:26)
    at Object.module.exports.initSession (/home/tasher/Projects/meanjs_test/config/lib/express.js:120:12)
    at Object.module.exports.init (/home/tasher/Projects/meanjs_test/config/lib/express.js:243:8)
    at /home/tasher/Projects/meanjs_test/config/lib/app.js:25:23
    at /home/tasher/Projects/meanjs_test/config/lib/mongoose.js:35:21
    at process._tickCallback (internal/process/next_tick.js:109:7)

Unhandled rejection MongoError: not authorized on mean-dev to execute command { listIndexes: "sessions", cursor: {} }
    at Function.MongoError.create (/home/tasher/Projects/meanjs_test/node_modules/mongodb-core/lib/error.js:31:11)
    at queryCallback (/home/tasher/Projects/meanjs_test/node_modules/mongodb-core/lib/cursor.js:212:36)
    at /home/tasher/Projects/meanjs_test/node_modules/mongodb-core/lib/connection/pool.js:469:18
    at _combinedTickCallback (internal/process/next_tick.js:73:7)
    at process._tickCallback (internal/process/next_tick.js:104:9)
From previous event:
    at MongoStore.setAutoRemoveAsync (/home/tasher/Projects/meanjs_test/node_modules/connect-mongo/src/index.js:129:40)
    at MongoStore.handleNewConnectionAsync (/home/tasher/Projects/meanjs_test/node_modules/connect-mongo/src/index.js:121:18)
    at MongoStore (/home/tasher/Projects/meanjs_test/node_modules/connect-mongo/src/index.js:96:26)
    at module.exports (/home/tasher/Projects/meanjs_test/config/lib/socket.io.js:73:20)
    at Object.module.exports.configureSocketIO (/home/tasher/Projects/meanjs_test/config/lib/express.js:214:38)
    at Object.module.exports.init (/home/tasher/Projects/meanjs_test/config/lib/express.js:258:14)
    at /home/tasher/Projects/meanjs_test/config/lib/app.js:25:23
    at /home/tasher/Projects/meanjs_test/config/lib/mongoose.js:35:21
    at process._tickCallback (internal/process/next_tick.js:109:7)

error: uncaughtException: getaddrinfo ENOTFOUND linux-hcjz.suse date=Mon Aug 28 2017 22:46:50 GMT+0100 (WEST), pid=4497, uid=1000, gid=100, cwd=/home/tasher/Projects/meanjs_test, execPath=/usr/bin/node6, version=v6.11.1, argv=[/usr/bin/node6, /home/tasher/Projects/meanjs_test/server.js], rss=97284096, heapTotal=69029888, heapUsed=48863040, external=20182576, loadavg=[0.6513671875, 0.61669921875, 0.43505859375], uptime=3056
Error: getaddrinfo ENOTFOUND linux-hcjz.suse
    at errnoException (dns.js:28:10)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:76:26)

我已经重新安装了两次meanjs,但都没有成功。 Mongo也在运行。顺便说一句:

tasher@linux-hcjz:~/Projects/meanjs_test> node -v
v6.11.1
tasher@linux-hcjz:~/Projects/meanjs_test> npm6 -v
3.10.10

有什么想法吗?

【问题讨论】:

  • MongoDB 错误是因为您无权在数据库上运行命令。默认情况下,连接字符串 MEAN 使用的是 mongodb://localhost/mean-dev。如果在本地 mongod 上启用了身份验证,则需要更改连接字符串以包含用户名和密码。有关更多信息,请参见此处:docs.mongodb.com/manual/tutorial/enable-authentication 另一个选项是在本地 mongod 上禁用身份验证(仅当您仅使用本地数据库进行开发时才应该这样做)。

标签: node.js mongodb npm meanjs


【解决方案1】:

尝试为你的 mean-dev 添加执行权限

chmod 755 path_for_package/mean-dev

将路径 path_for_package 替换为您的路径

【讨论】:

  • path_for_package 到底是什么意思?通往什么道路?
  • 您的bin/mean-dev 安装位置
  • 找不到任何mean-dev 文件夹
猜你喜欢
  • 2019-07-25
  • 2020-02-02
  • 2017-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-25
  • 2018-12-04
  • 2018-04-06
相关资源
最近更新 更多