Развертывание приложения узла на ошибках запуска героку, связанных с узлом - PullRequest
0 голосов
/ 17 декабря 2018

Я пытаюсь запустить приложение для моего узла в heroku, но я получаю эту ошибку, которая связана с зависимостью nodemon.

2018-12-16T21:32:51.891208+00:00 app[web.1]: sh: 1: nodemon: not found
2018-12-16T21:32:51.895084+00:00 app[web.1]: npm ERR! file sh
2018-12-16T21:32:51.895380+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2018-12-16T21:32:51.895627+00:00 app[web.1]: npm ERR! errno ENOENT
2018-12-16T21:32:51.895865+00:00 app[web.1]: npm ERR! syscall spawn
2018-12-16T21:32:51.896987+00:00 app[web.1]: npm ERR! turktutor_backend@1.0.0 start: `nodemon --watch`
2018-12-16T21:32:51.897151+00:00 app[web.1]: npm ERR! spawn ENOENT

У меня есть мой package.json так:

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "nodemon --watch"
  },
"dependencies": {
    "bcrypt": "^3.0.2",
    "body-parser": "^1.18.3",
    "express": "^4.16.4",
    "express-validator": "^5.3.0",
    "googleapis": "^27.0.0",
    "jsonwebtoken": "^8.4.0",
    "mongoose": "^5.3.14",
    "mongoose-unique-validator": "^2.0.2",
    "nodemailer": "^4.7.0"
  },
  "devDependencies": {
    "morgan": "^1.9.1",
    "nodemon": "^1.18.7"
  }

Я пытался следовать решению в этой ссылке , которая требует изменения файла "Procfile", но heroku говорит, что Procfile больше не требуется для приложений Node.js source

Мне интересно, нужно ли мне устанавливать мои devDependencies на сервере heroku какой-нибудь командой!

, поэтому, пожалуйста, помогите решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Я выяснил, что heroku работает в производственной среде по умолчанию, поэтому он не устанавливает зависимости dev, поэтому я создал два сценария сценария diffrent npm в моем package.json так:

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node index.js",
    "start:dev": "nodemon --watch"
},

и когдая хочу запустить проект локально, я запускаю npm run start:dev, поэтому он загружает index.js по nodemon, а в heroku npm start запускается по умолчанию и загружает index.js из обычной команды узла.

0 голосов
/ 17 декабря 2018

По умолчанию heroku устанавливает только не dev-зависимости, поэтому nodemon не найден.Вы можете определить переменную окружения на панели инструментов heroku, однако я не думаю, что она установит зависимости dev.В производстве вам не нужен nodemon, какова ваша идея?

...