Heroku App不断崩溃

时间:2016-12-06 18:54:25

标签: ios node.js heroku parse-platform npm

进行更改后更新:

/app/index.js:27
2016-12-07T16:03:32.984832+00:00 app[web.1]:   liveQuery: {
2016-12-07T16:03:32.984833+00:00 app[web.1]:   ^^^^^^^^^
2016-12-07T16:03:32.984838+00:00 app[web.1]: SyntaxError: Unexpected identifier
2016-12-07T16:03:32.984839+00:00 app[web.1]:     at Object.exports.runInThisContext (vm.js:76:16)
2016-12-07T16:03:32.984839+00:00 app[web.1]:     at Module._compile (module.js:542:28)
2016-12-07T16:03:32.984840+00:00 app[web.1]:     at Object.Module._extensions..js (module.js:579:10)
2016-12-07T16:03:32.984840+00:00 app[web.1]:     at Module.load (module.js:487:32)
2016-12-07T16:03:32.984840+00:00 app[web.1]:     at tryModuleLoad (module.js:446:12)
2016-12-07T16:03:32.984841+00:00 app[web.1]:     at Function.Module._load (module.js:438:3)
2016-12-07T16:03:32.984842+00:00 app[web.1]:     at Module.runMain (module.js:604:10)
2016-12-07T16:03:32.984842+00:00 app[web.1]:     at run (bootstrap_node.js:394:7)
2016-12-07T16:03:32.984842+00:00 app[web.1]:     at startup (bootstrap_node.js:149:9)
2016-12-07T16:03:32.984843+00:00 app[web.1]:     at bootstrap_node.js:509:3
2016-12-07T16:03:32.991077+00:00 app[web.1]: 
2016-12-07T16:03:32.998460+00:00 app[web.1]: npm ERR! Linux 3.13.0-105-generic
2016-12-07T16:03:32.998644+00:00 app[web.1]: npm ERR! argv "/app/.heroku/node/bin/node" "/app/.heroku/node/bin/npm" "start"
2016-12-07T16:03:32.998784+00:00 app[web.1]: npm ERR! node v6.9.1
2016-12-07T16:03:32.998903+00:00 app[web.1]: npm ERR! npm  v3.10.8
2016-12-07T16:03:32.999025+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2016-12-07T16:03:32.999126+00:00 app[web.1]: npm ERR! parse-server-example@1.4.0 start: `node index.js`
2016-12-07T16:03:32.999210+00:00 app[web.1]: npm ERR! Exit status 1
2016-12-07T16:03:32.999307+00:00 app[web.1]: npm ERR! 
2016-12-07T16:03:32.999390+00:00 app[web.1]: npm ERR! Failed at the parse-server-example@1.4.0 start script 'node index.js'.

这是index.js

    // Example express application adding the parse-server module to expose Parse
// compatible API routes.

var express = require('express');
var ParseServer = require('parse-server').ParseServer;
var path = require('path');

var databaseUri = process.env.DATABASE_URI || process.env.MONGODB_URI;
var S3Adapter = require('parse-server').S3Adapter;
if (!databaseUri) {
  console.log('DATABASE_URI not specified, falling back to localhost.');
}

var api = new ParseServer({
  databaseURI: databaseUri || 'mongodb://ADDRESS',
  cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js',
  appId: process.env.APP_ID || 'APPID',
  masterKey: process.env.MASTER_KEY || 'MASTERKEY',
  serverURL: process.env.SERVER_URL || 'http://localhost:1337/parse',  // Don't forget to change to https if needed
  fileKey: 'FILEKEY',
filesAdapter: new S3Adapter( 
    process.env.AWS_ACCESS_KEY_ID || "AKIAIEHF3KZUEYJTUOJA",
    process.env.AWS_SECRET_ACCESS_KEY || "AWS_SECRET_ACCESS_KEY",
    process.env.BUCKET_NAME || "BUCKET_NAME"
  )

  liveQuery: {
    classNames: ["Users", "FritchDirectory"] // List of classes to support for query subscriptions
  }

});
// Client-keys like the javascript key or the .NET key are not necessary with parse-server
// If you wish you require them, you can set them as options in the initialization above:
// javascriptKey, restAPIKey, dotNetKey, clientKey

var app = express();

// Serve static assets from the /public folder
app.use('/public', express.static(path.join(__dirname, '/public')));

// Serve the Parse API on the /parse URL prefix
var mountPath = process.env.PARSE_MOUNT || '/parse';
app.use(mountPath, api);

// Parse Server plays nicely with the rest of your web routes
app.get('/', function(req, res) {
  res.status(200).send('I dream of being a website.  Please star the parse-server repo on GitHub!');
});

// There will be a test page available on the /test path of your server url
// Remove this before launching your app
app.get('/test', function(req, res) {
  res.sendFile(path.join(__dirname, '/public/test.html'));
});

var port = process.env.PORT || 1337;
var httpServer = require('http').createServer(app);
httpServer.listen(port, function() {
    console.log('parse-server-example running on port ' + port + '.');
});

// This will enable the Live Query real-time server
ParseServer.createLiveQueryServer(httpServer);

//curl -X POST -H "X-Parse-Application-Id:1bIi1xMZLEnYu1axn0SlDXu9xm7wSet25Y0hyvys" -H "Content-Type: application/json" -d '{"HerCell":1337,"title":"Sean Plott","address":321}' http://localhost:1337/parse/classes/FritchDirectory

//export DATABASE_URI=mongodb://address

我为运行Parse服务器的Heroku App获得的输出是: 请告诉我这一定有什么问题?我已经遵循了从解析到heroku的所有指南,但只是不明白她的情况。

2016-12-06T16:52:43.317740+00:00 heroku[web.1]: State changed from crashed to starting
2016-12-06T16:52:46.453553+00:00 heroku[web.1]: Starting process with command `npm start`
2016-12-06T16:52:50.162903+00:00 app[web.1]: 
2016-12-06T16:52:50.162917+00:00 app[web.1]: > parse-server-example@1.4.0 start /app
2016-12-06T16:52:50.162918+00:00 app[web.1]: > node index.js
2016-12-06T16:52:50.162919+00:00 app[web.1]: 
2016-12-06T16:52:50.317661+00:00 app[web.1]: /app/index.js:23
2016-12-06T16:52:50.317664+00:00 app[web.1]: filesAdapter: new S3Adapter(
2016-12-06T16:52:50.317665+00:00 app[web.1]: ^^^^^^^^^^^^
2016-12-06T16:52:50.317666+00:00 app[web.1]: SyntaxError: Unexpected identifier
2016-12-06T16:52:50.317667+00:00 app[web.1]:     at Object.exports.runInThisContext (vm.js:76:16)
2016-12-06T16:52:50.317667+00:00 app[web.1]:     at Module._compile (module.js:542:28)
2016-12-06T16:52:50.317668+00:00 app[web.1]:     at Object.Module._extensions..js (module.js:579:10)
2016-12-06T16:52:50.317668+00:00 app[web.1]:     at Module.load (module.js:487:32)
2016-12-06T16:52:50.317669+00:00 app[web.1]:     at tryModuleLoad (module.js:446:12)
2016-12-06T16:52:50.317669+00:00 app[web.1]:     at Function.Module._load (module.js:438:3)
2016-12-06T16:52:50.317670+00:00 app[web.1]:     at Module.runMain (module.js:604:10)
2016-12-06T16:52:50.317671+00:00 app[web.1]:     at run (bootstrap_node.js:394:7)
2016-12-06T16:52:50.317672+00:00 app[web.1]:     at startup (bootstrap_node.js:149:9)
2016-12-06T16:52:50.317672+00:00 app[web.1]:     at bootstrap_node.js:509:3
2016-12-06T16:52:50.350495+00:00 app[web.1]: 
2016-12-06T16:52:50.364668+00:00 app[web.1]: npm ERR! Linux 3.13.0-100-generic
2016-12-06T16:52:50.364914+00:00 app[web.1]: npm ERR! argv "/app/.heroku/node/bin/node" "/app/.heroku/node/bin/npm" "start"
2016-12-06T16:52:50.365113+00:00 app[web.1]: npm ERR! node v6.9.1
2016-12-06T16:52:50.365226+00:00 app[web.1]: npm ERR! npm  v3.10.8
2016-12-06T16:52:50.365352+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2016-12-06T16:52:50.365448+00:00 app[web.1]: npm ERR! parse-server-example@1.4.0 start: `node index.js`
2016-12-06T16:52:50.365582+00:00 app[web.1]: npm ERR! Exit status 1
2016-12-06T16:52:50.367495+00:00 app[web.1]: npm ERR! 
2016-12-06T16:52:50.367496+00:00 app[web.1]: npm ERR! Failed at the parse-server-example@1.4.0 start script 'node index.js'.
2016-12-06T16:52:50.367497+00:00 app[web.1]: npm ERR! Make sure you have the latest version of node.js and npm installed.
2016-12-06T16:52:50.367498+00:00 app[web.1]: npm ERR! If you do, this is most likely a problem with the parse-server-example package,
2016-12-06T16:52:50.367498+00:00 app[web.1]: npm ERR! not with npm itself.
2016-12-06T16:52:50.367499+00:00 app[web.1]: npm ERR! Tell the author that this fails on your system:
2016-12-06T16:52:50.367499+00:00 app[web.1]: npm ERR!     node index.js
2016-12-06T16:52:50.367500+00:00 app[web.1]: npm ERR! You can get information on how to open an issue for this project with:
2016-12-06T16:52:50.367501+00:00 app[web.1]: npm ERR!     npm bugs parse-server-example
2016-12-06T16:52:50.367501+00:00 app[web.1]: npm ERR! Or if that isn't available, you can get their info via:
2016-12-06T16:52:50.367502+00:00 app[web.1]: npm ERR!     npm owner ls parse-server-example
2016-12-06T16:52:50.367503+00:00 app[web.1]: npm ERR! There is likely additional logging output above.
2016-12-06T16:52:50.372745+00:00 app[web.1]: 
2016-12-06T16:52:50.373075+00:00 app[web.1]: npm ERR! Please include the following file with any support request:
2016-12-06T16:52:50.373250+00:00 app[web.1]: npm ERR!     /app/npm-debug.log
2016-12-06T16:52:50.467906+00:00 heroku[web.1]: State changed from starting to crashed
2016-12-06T16:52:50.458594+00:00 heroku[web.1]: Process exited with status 1
2016-12-06T16:52:50.367499+00:00 app[web.1]: npm ERR!     node index.js
2016-12-06T16:52:50.367500+00:00 app[web.1]: npm ERR! You can get information on how to open an issue for this project with:
2016-12-06T16:52:50.367501+00:00 app[web.1]: npm ERR!     npm bugs parse-server-example
2016-12-06T16:52:50.367501+00:00 app[web.1]: npm ERR! Or if that isn't available, you can get their info via:
2016-12-06T16:52:50.367502+00:00 app[web.1]: npm ERR!     npm owner ls parse-server-example
2016-12-06T16:52:50.367503+00:00 app[web.1]: npm ERR! There is likely additional logging output above.
2016-12-06T16:52:50.372745+00:00 app[web.1]: 
2016-12-06T16:52:50.373075+00:00 app[web.1]: npm ERR! Please include the following file with any support request:
2016-12-06T16:52:50.373250+00:00 app[web.1]: npm ERR!     /app/npm-debug.log
2016-12-06T16:52:50.467906+00:00 heroku[web.1]: State changed from starting to crashed
2016-12-06T16:52:50.458594+00:00 heroku[web.1]: Process exited with status 1

1 个答案:

答案 0 :(得分:1)

您的错误在这里(请查看下面的箭头):

  var api = new ParseServer({
  databaseURI: databaseUri || 'mongodb://localhost:27017/dev',
  cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js',
  appId: process.env.APP_ID || 'myAppId',
  masterKey: process.env.MASTER_KEY || '', //Add your master key here. Keep it secret!
  fileKey: process.env.FILE_KEY || 'optionalFileKey', // For migrated apps, this is necessary to provide access to files already hosted on parse.com. 
  serverURL: process.env.SERVER_URL || 'http://localhost:1337',  // Don't forget to change to https if needed
  filesAdapter: new S3Adapter( 
    process.env.AWS_ACCESS_KEY_ID || "AWS_ACCESS_KEY_ID",
    process.env.AWS_SECRET_ACCESS_KEY || "AWS_SECRET_ACCESS_KEY",
    process.env.BUCKET_NAME || "BUCKET_NAME"
  )
}); // <----------------
  liveQuery: {
    classNames: ["Users", "FritchDirectory"] // List of classes to support for query subscriptions
  }

箭头所在的位置,关闭api初始化

liveQuery: {
    classNames: ["Users", "FritchDirectory"] // List of classes to support for query subscriptions
 }

无效的Javascript语法。

堆栈跟踪将其显示为filesAdapter: new S3Adapter,因为这是它识别的最后一件事

我不知道你的意图,但看起来需要这样:

var liveQuery = {
    classNames: ["Users", "FritchDirectory"] // List of classes to support for query subscriptions
 }

注意等号而不是冒号。前者用于对象的属性赋值

我刚看了example。 您希望在livequery属性之后向下移动结束括号,如下所示:

   filesAdapter: new S3Adapter( 
    process.env.AWS_ACCESS_KEY_ID || "AWS_ACCESS_KEY_ID",
    process.env.AWS_SECRET_ACCESS_KEY || "AWS_SECRET_ACCESS_KEY",
    process.env.BUCKET_NAME || "BUCKET_NAME"
  ),
  liveQuery: {
    classNames: ["Users", "FritchDirectory"] // List of classes to support for query subscriptions
  }
}); // <----------------