Deploying on Heroku
with Node.js
using Mac
My issue:
State changed from starting to crashed &&
sh: 1: nodemon: not found &&
Failed at...start script &&
status 1...code=H10
After creating my front-end, with React
, back-end server, with node.js
/express.js
, and database, with PostgreSQL
, I attempted to deploy my server on Heroku
with Git
. Since I already had Git
, I moved onto Heroku CLI
First, from the terminal
in my server...
brew install heroku/brew/heroku
heroku create
git remote -v
git push heroku master
If this is not your first time using Heroku
...
heroku git:remote -a theUrlYouWant
git push heroku master
...otherwise...Heroku
dynamically assigns your app a port, so you can't set the port to a fixed number. Heroku adds the port to the env:
app.listen(process.env.PORT || 3000, () => {
console.log(`app is running on port ${process.env.PORT}`);
})
...if you added port:
git add .
git commit -m "adding port"
git push heroku master
...finally, from my terminal in server:
➜ folderName git:(master) heroku open
➜ folderName git:(master) heroku logs --tail
2019-05-08T18:07:23.253827+00:00 heroku[web.1]: Starting process with command npm start
2019-05-08T18:07:25.323748+00:00 heroku[web.1]: State changed from starting to crashed
2019-05-08T18:05:17.074233+00:00 app[web.1]: > nodemon fileName.js
2019-05-08T18:05:17.074235+00:00 app[web.1]:
2019-05-08T18:05:17.098124+00:00 app[web.1]: sh: 1: nodemon: not found
2019-05-08T18:05:17.102512+00:00 app[web.1]: npm ERR! file sh
2019-05-08T18:05:17.102801+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2019-05-08T18:05:17.103068+00:00 app[web.1]: npm ERR! errno ENOENT
2019-05-08T18:05:17.103239+00:00 app[web.1]: npm ERR! syscall spawn
2019-05-08T18:05:17.104259+00:00 app[web.1]: npm ERR! app@1.0.0 start: nodemon fileName.js
2019-05-08T18:05:17.104361+00:00 app[web.1]: npm ERR! spawn ENOENT
2019-05-08T18:05:17.104553+00:00 app[web.1]: npm ERR!
2019-05-08T18:05:17.104692+00:00 app[web.1]: npm ERR! Failed at the app@1.0.0 start script.
2019-05-08T18:05:17.104841+00:00 app[web.1]: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
[...]
2019-05-08T18:05:17.171915+00:00 heroku[web.1]: Process exited with status 1
2019-05-08T18:05:37.338695+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=yourURL.herokuapp.com request_id=hidden fwd="ip" dyno= connect= service= status=503 bytes= protocol=https