новую героку [роутер]: at = код ошибки = H10 desc = "Приложение упало" - PullRequest
0 голосов
/ 12 сентября 2018

Я получаю вышеуказанную ошибку от героку.Я испробовал несколько решений, в том числе: обновление движка в package.json для версии узла и npm, а также с помощью команды heroku restart.Я также удостоверился, что порт в моей конфигурации БД не был жестко запрограммирован, как предлагали некоторые ответы.Вот мой конфиг:

    var url = process.env.DATABASEURL || "mongodb://localhost/roam- 
    hub";
    mongoose.connect(url);

Ошибка также указывает на мой файл dotenv, который подключен и настроен правильно, я думаю?Все отлично работает в моей местной среде.У кого-нибудь есть новое предложение о том, как решить эту проблему?

    throw err;
    2018-09-12T12:22:20.970580+00:00 app[web.1]: ^
    2018-09-12T12:22:20.970582+00:00 app[web.1]: 
    2018-09-12T12:22:20.970583+00:00 app[web.1]: Error: Cannot find 
    module 'dotenv'
    2018-09-12T12:22:20.970585+00:00 app[web.1]: at 
    Function.Module._resolveFilename 
    (internal/modules/cjs/loader.js:594:15)

Вот мой файл package.json:

    {
    "name": "roam-app",
    "version": "1.0.0",
    "engines": {
    "node": "10.5.0",
    "npm": "6.2.0"
    },
    "description": "central app for all things Roam",
    "main": "app.js",
    "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node app.js"
    },
    "author": "*",
    "license": "ISC",
    "dependencies": {
    "body-parser": "^1.18.3",
    "cloudinary": "^1.11.0",
    "connect-flash": "^0.1.1",
    "connect-timeout": "^1.9.0",
    "cookie-parser": "^1.4.3",
    "ejs": "^2.6.1",
    "express": "^4.16.3",
    "express-session": "^1.15.6",
    "method-override": "^2.3.10",
    "moment": "^2.22.2",
    "mongoose": "^5.1.5",
    "multer": "^1.3.1",
    "nodemailer": "^4.6.7",
    "passport": "^0.4.0",
    "passport-local": "^1.0.0",
    "passport-local-mongoose": "^5.0.0",
    "request": "^2.87.0",
    "session": "^0.1.0"
    },
    "devDependencies": {
    "dotenv": "^6.0.0"
    }
    }

Я начал получать эту ошибку после того, как я изменил некоторый основной HTMLфайлы и толкнул к героку.Заранее спасибо за помощь.

1 Ответ

0 голосов
/ 12 сентября 2018

Stacktrace сообщает вам, что идет не так, самое главное:

Error: Cannot find module 'dotenv'

Я подозреваю, что вы делаете npm install --production и устанавливаете только те зависимости, которые указаны в вашем dependencies в вашемpackage.json, тогда как dotenv указан как devDependency и, следовательно, не устанавливается.Он не жалуется на то, что не может найти ваш .env файл, а жалуется на то, что он не может разрешить модуль dotenv.

Учитывая, что делает dotenv, он должен быть производственной зависимостью и долженбыть перемещенным из devDependencies в dependencies.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...