我正在尝试为我的 Express 应用程序设置本地安装的解析服务器.这是我所做的:
I'm trying to setup a local install of a parse server for my express app. Here is what I have done:
npm install -g parse-server mongodb-runner那么:
mongodb-runner start触发了这个错误:
Starting a MongoDB deployment to test against...{ HTTPError: Response code 403 (Forbidden) at EventEmitter.ee.on.res (/usr/local/lib/node_modules/mongodb-runner/node_modules/got/index.js:250:24) at EventEmitter.emit (events.js:182:13) at Immediate.setImmediate (/usr/local/lib/node_modules/mongodb-runner/node_modules/got/index.js:99:8) at runCallback (timers.js:705:18) at tryOnImmediate (timers.js:676:5) at processImmediate (timers.js:658:5) name: 'HTTPError', host: 'fastdl.mongodb', hostname: 'fastdl.mongodb', method: 'GET', path: '/osx/mongodb-macos-x86_64-4.0.3.tgz', protocol: 'https:', url: 'fastdl.mongodb/osx/mongodb-macos-x86_64-4.0.3.tgz', statusCode: 403, statusMessage: 'Forbidden', headers: { 'content-type': 'application/xml', 'transfer-encoding': 'chunked', connection: 'close', date: 'Wed, 17 Oct 2018 18:38:43 GMT', server: 'AmazonS3', 'x-cache': 'Error from cloudfront', via: '1.1 c743f1ce1ce65e454843328ae4e050a2.cloudfront (CloudFront)', 'x-amz-cf-id': 'eA7O6955PJVLdcvfXCAuTW3YOEGRoGcWGxGXRgAiPq8zbGFyBvug8Q==' } }因此,我决定在 mongodb 上创建一个集群,而不是在本地运行 mongodb.然后我尝试运行此命令连接到集群(当然我用正确的值替换了 APP_ID、MASTER_KEY 和 MONGODB_DATABASE_URI):
So instead of running mongodb locally I decided to create a cluster on mongodb. Then I tried running this command connecting to the cluster(of course I replaced the APP_ID, MASTER_KEY, and MONGODB_DATABASE_URI with the proper values):
parse-server --appId APP_ID --masterKey MASTER_KEY --databaseURI MONGODB_DATABASE_URI这是我得到的错误:
/usr/local/lib/node_modules/parse-server/lib/ParseServer.js:225 throw err; ^ TypeError: Cannot read property 'close' of undefined at topology.connect (/usr/local/lib/node_modules/parse-server/node_modules/mongodb/lib/operations/mongo_client_ops.js:412:16) at ReplSet.<anonymous> (/usr/local/lib/node_modules/parse-server/node_modules/mongodb/lib/topologies/replset.js:364:11) at Object.onceWrapper (events.js:273:13) at ReplSet.emit (events.js:182:13) at ReplSet.EventEmitter.emit (domain.js:442:20) at /usr/local/lib/node_modules/parse-server/node_modules/mongodb-core/lib/topologies/replset.js:631:23 at Server.<anonymous> (/usr/local/lib/node_modules/parse-server/node_modules/mongodb-core/lib/topologies/replset.js:357:9) at Object.onceWrapper (events.js:273:13) at Server.emit (events.js:182:13) at Server.EventEmitter.emit (domain.js:442:20)我在谷歌上搜索了很长时间,我无法弄清楚这一点.parse-server 和 mongodb 都是最新的.说 parse-server 是 3.0.0,mongodb 是 3.1.8
I've been googling for so long and I can't figure this out. parse-server and mongodb are both completely up to date. Says parse-server is 3.0.0 and mongodb is 3.1.8
推荐答案看起来 mongodb-runner 第一次从 mongodb 下载了一些文件,根据 此线程,某些版本的这些链接已更改.因此,通过在运行 mongodb-runner 时设置环境变量 MONGODB_VERSION 来尝试不同的 mongo 版本:
It looks like mongodb-runner downloads some files from mongodb the first time and, according to this thread, those links have changed for some versions. So try different mongo versions by setting then environmental var MONGODB_VERSION when running mongodb-runner:
MONGODB_VERSION=3.4.1 mongodb-runner更多推荐
解析服务器和 mongodb 问题
发布评论