Я установил Parse Server на Heroku и разветвил Пример сервера синтаксического анализа. Когда я git push heroku master получаю сообщение об ошибке
"You must provide an appIp!"
Журнал ошибок:
019-03-20T11:03:56.517489+00:00 heroku[web.1]: Starting process with command `npm start`
2019-03-20T11:03:59.418738+00:00 app[web.1]:
2019-03-20T11:03:59.418754+00:00 app[web.1]: > [email protected] start /app
2019-03-20T11:03:59.418756+00:00 app[web.1]: > node index.js
2019-03-20T11:03:59.418757+00:00 app[web.1]:
2019-03-20T11:04:01.887096+00:00 heroku[web.1]: State changed from starting to crashed
2019-03-20T11:04:01.724008+00:00 app[web.1]:
2019-03-20T11:04:01.724030+00:00 app[web.1]: /app/node_modules/parse-server/lib/ParseServer.js:218
2019-03-20T11:04:01.724032+00:00 app[web.1]: throw err;
2019-03-20T11:04:01.724033+00:00 app[web.1]: ^
2019-03-20T11:04:01.724105+00:00 app[web.1]: You must provide an appId!
2019-03-20T11:04:01.779713+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2019-03-20T11:04:01.780520+00:00 app[web.1]: npm ERR! errno 7
2019-03-20T11:04:01.782955+00:00 app[web.1]: npm ERR! [email protected] start: `node index.js`
2019-03-20T11:04:01.783173+00:00 app[web.1]: npm ERR! Exit status 7
2019-03-20T11:04:01.783716+00:00 app[web.1]: npm ERR!
2019-03-20T11:04:01.783983+00:00 app[web.1]: npm ERR! Failed at the [email protected] start script.
2019-03-20T11:04:01.784194+00:00 app[web.1]: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
2019-03-20T11:04:01.804701+00:00 app[web.1]:
2019-03-20T11:04:01.805007+00:00 app[web.1]: npm ERR! A complete log of this run can be found in:
2019-03-20T11:04:01.805196+00:00 app[web.1]: npm ERR! /app/.npm/_logs/2019-03-20T11_04_01_786Z-debug.log
2019-03-20T11:04:01.866235+00:00 heroku[web.1]: Process exited with status 7
index.js:
var express = require('express');
var ParseServer = require('parse-server').ParseServer;
var path = require('path');
var databaseUri = process.env.DATABASE_URI || process.env.MONGODB_URI;
if (!databaseUri) {
console.info('DATABASE_URI not specified, falling back to localhost.');
}
var api = new ParseServer({
databaseURI: databaseUri || 'mongodb://key
cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js',
appId: process.env.APP_ID || 'myAppId',
masterKey: process.env.MASTER_KEY || 'myMasterKey',
serverURL: process.env.SERVER_URL || 'http://myApp.herokuapp.com/parse',
liveQuery: {
classNames: ["Posts", "Comments"] // List of classes to support for query subscriptions
}
});
var server = ParseServer({
verifyUserEmails: true,
publicServerURL: 'myApp.herokuapp.com/parse',
appName: 'myAppName',
emailAdapter: {
module: 'parse-server-simple-mailgun-adapter',
options: {
fromAddress: '[email protected]',
domain: 'domainFromMailGun.mailgun.org',
apiKey: 'myAPIKey',
}
}
});
Я поставил appId в appId: process.env.APP_ID || 'myAppId', или я что-то пропустил? Должен ли appId быть предоставлен в другом месте?





Прежде всего, аннулируйте эти учетные данные MongoDB немедленно. Они навсегда скомпрометированы, и вам нужно генерировать новые. Редактирование их вне вашего вопроса - недостаточно.
Я не совсем понимаю, что вы пытаетесь здесь сделать, но на самом деле вы создаете экземпляры серверов два Parse. Вы ставите appId для первого (api), но не для второго (server).
Вероятно, вам нужен только один сервер Parse. Если по какой-то причине вам действительно нужны два, каждому понадобится appId.
Спасибо, что сообщили мне .. Этот вопрос был полным провалом. Прости за то, что я кукла! Я отредактировал вопрос, чтобы он содержал актуальную проблему.
@Neccer, твой новый вопрос на полностью отличается от твоего старого. Это должен быть новый вопрос, а не редактирование этого. Я собираюсь вернуть ваш вопрос в прежнее состояние. Если мой ответ ответил на ваш первоначальный вопрос, рассмотрите проголосовать за (или против) или принять его.
Вы только что утекли строку подключения к MongoDB. Если это ваши настоящие учетные данные, вы должны сделать их недействительными немедленно. Они навсегда скомпрометированы, и вам нужно генерировать новые. Нет необходимости включать это в свой код (да и, вероятно, не следует), так как вы уже загружаете его из среды.