Heroku node.js app runs locally but crashes remotely - node.js

I have a node.js application which is not a web application.
Here's my package.json:
{
"name": "myapp-backend",
"version": "1.0.0",
"description": "MyApp PubNub backend",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "https://git.heroku.com/myapp.git"
},
"keywords": [
"backend"
],
"author": "Pete Gu",
"license": "ISC",
"dependencies": {
"pubnub": "^4.3.3"
},
"engines": {
"node" : "6.9.2"
}
}
Contents of Procfile:
app: node app.js
It runs when I run heroku local. However, after pushing the code and checking logs with heroku logs I see this:
2016-12-22T06:07:01.276053+00:00 app[api]: Deploy fb193d3 by user xxxxx#xxxx.com
2016-12-22T06:07:01.477131+00:00 heroku[slug-compiler]: Slug compilation started
2016-12-22T06:07:01.477136+00:00 heroku[slug-compiler]: Slug compilation finished
2016-12-22T06:07:01.276053+00:00 app[api]: Release v13 created by user gpeetonn#gmail.com
2016-12-22T06:07:01.507095+00:00 heroku[web.1]: State changed from crashed to starting
2016-12-22T06:07:02.759643+00:00 heroku[web.1]: Starting process with command `npm start`
2016-12-22T06:07:06.003266+00:00 heroku[web.1]: Process exited with status 1
2016-12-22T06:07:06.016232+00:00 heroku[web.1]: State changed from starting to crashed
2016-12-22T06:07:06.017114+00:00 heroku[web.1]: State changed from crashed to starting
2016-12-22T06:07:05.872484+00:00 app[web.1]: npm ERR! Linux 3.13.0-105-generic
2016-12-22T06:07:05.872909+00:00 app[web.1]: npm ERR! argv "/app/.heroku/node/bin/node" "/app/.heroku/node/bin/npm" "start"
2016-12-22T06:07:05.873173+00:00 app[web.1]: npm ERR! node v6.9.2
2016-12-22T06:07:05.873421+00:00 app[web.1]: npm ERR! npm v3.10.9
2016-12-22T06:07:05.877486+00:00 app[web.1]: npm ERR! missing script: start
2016-12-22T06:07:05.875800+00:00 app[web.1]:
2016-12-22T06:07:05.877738+00:00 app[web.1]: npm ERR!
2016-12-22T06:07:05.877884+00:00 app[web.1]: npm ERR! If you need help, you may report this error at:
2016-12-22T06:07:05.878031+00:00 app[web.1]: npm ERR! <https://github.com/npm/npm/issues>
2016-12-22T06:07:05.892349+00:00 app[web.1]:
2016-12-22T06:07:05.892997+00:00 app[web.1]: npm ERR! /app/npm-debug.log
2016-12-22T06:07:05.892655+00:00 app[web.1]: npm ERR! Please include the following file with any support request:
2016-12-22T06:07:07.532860+00:00 heroku[web.1]: Starting process with command `npm start`
2016-12-22T06:07:10.603753+00:00 app[web.1]: npm ERR! Linux 3.13.0-105-generic
2016-12-22T06:07:10.604065+00:00 app[web.1]: npm ERR! argv "/app/.heroku/node/bin/node" "/app/.heroku/node/bin/npm" "start"
2016-12-22T06:07:10.604260+00:00 app[web.1]: npm ERR! node v6.9.2
2016-12-22T06:07:10.604476+00:00 app[web.1]: npm ERR! npm v3.10.9
2016-12-22T06:07:10.606525+00:00 app[web.1]:
2016-12-22T06:07:10.607621+00:00 app[web.1]: npm ERR! missing script: start
2016-12-22T06:07:10.607822+00:00 app[web.1]: npm ERR!
2016-12-22T06:07:10.607900+00:00 app[web.1]: npm ERR! If you need help, you may report this error at:
2016-12-22T06:07:10.607998+00:00 app[web.1]: npm ERR! <https://github.com/npm/npm/issues>
2016-12-22T06:07:10.618207+00:00 app[web.1]:
2016-12-22T06:07:10.618415+00:00 app[web.1]: npm ERR! Please include the following file with any support request:
2016-12-22T06:07:10.618645+00:00 app[web.1]: npm ERR! /app/npm-debug.log
2016-12-22T06:07:10.718608+00:00 heroku[web.1]: State changed from starting to crashed
2016-12-22T06:07:10.710362+00:00 heroku[web.1]: Process exited with status 1
...which completely doesn't make sense to me - why heroku tries to launch app using npm start instead of reading Procfile?

Heroku seems to be trying to start a web dyno, and doesn't seem to know about your Procfile.
Are you sure you added your Procfile to your git repo?
Anyway, try this:
heroku ps:scale web=0
heroku ps:scale app=1
You could also add "start": "node app.js" in the "scripts" section of your package.json.

I can see the error missing script: start So you need to add
"scripts": {
"start": "node bin/xxx" //your main file name
}
add this to your package.json.

Related

How to solve the Error in deploying react app on Heroku

I run yarn install and yarn start locally for my project and it works fine. However, as soon as I push it to Heroku, I am unable to deploy it with the following error log:
2021-05-10T16:40:06.622555+00:00 app[web.1]: > react-scripts start
2021-05-10T16:40:06.622556+00:00 app[web.1]:
2021-05-10T16:40:06.627252+00:00 app[web.1]: sh: 1: react-scripts: not found
2021-05-10T16:40:06.636894+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2021-05-10T16:40:06.637303+00:00 app[web.1]: npm ERR! syscall spawn
2021-05-10T16:40:06.637496+00:00 app[web.1]: npm ERR! file sh
2021-05-10T16:40:06.637766+00:00 app[web.1]: npm ERR! errno ENOENT
2021-05-10T16:40:06.644457+00:00 app[web.1]: npm ERR! bleh#0.1.0 start: `react-scripts start`
2021-05-10T16:40:06.644627+00:00 app[web.1]: npm ERR! spawn ENOENT
2021-05-10T16:40:06.644771+00:00 app[web.1]: npm ERR!
2021-05-10T16:40:06.644922+00:00 app[web.1]: npm ERR! Failed at the bleh#0.1.0 start script.
2021-05-10T16:40:06.645043+00:00 app[web.1]: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
2021-05-10T16:40:06.654910+00:00 app[web.1]:
2021-05-10T16:40:06.655128+00:00 app[web.1]: npm ERR! A complete log of this run can be found in:
2021-05-10T16:40:06.655306+00:00 app[web.1]: npm ERR! /app/.npm/_logs/2021-05-10T16_40_06_646Z-debug.log
2021-05-10T16:40:06.706089+00:00 heroku[web.1]: Process exited with status 1
2021-05-10T16:40:06.778374+00:00 heroku[web.1]: State changed from starting to crashed
2021-05-10T16:41:26.103511+00:00 app[api]: Deploy 1f4ec645 by user holliu9999#gmail.com
2021-05-10T16:41:26.103511+00:00 app[api]: Release v7 created by user holliu9999#gmail.com
2021-05-10T16:41:26.390448+00:00 heroku[web.1]: State changed from crashed to starting
2021-05-10T16:41:30.000000+00:00 app[api]: Build succeeded
2021-05-10T16:41:32.398941+00:00 heroku[web.1]: Starting process with command `npm start`
In addition, I do only contain the yarn.lock in my directory so I am confused why it still runing npm. And here is my package.json file:
{
"name": "bleh",
"version": "0.1.0",
"private": true,
"devDependencies": {
"react-scripts": "0.9.0"
},
"dependencies": {
"react": "^15.4.2",
"react-dom": "^15.4.2",
"react-fontawesome": "^1.6.1",
"react-infinite": "^0.11.2",
"react-infinite-loader": "^1.0.2",
"react-router": "^3.0.2"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
}
}
You need to have a back-end server like node with express and config the script npm start. Go to Package.json --> scripts --> and add the script --> "start": "node app or index" depend of your root file. Btw you need to put the react application on the public folder of your backend.
Heroku needs a backend to start correctly.
You can see the express setup https://www.npmjs.com/package/express or http://expressjs.com/en/starter/hello-world.html

"index.js not found" when running npm start, ERR! code ELIFECYCLE and ENOENT

I'm trying to run a Discord bot via Heroku (will this work or is the whole idea flawed?)
However, I receive npm error codes every time I run npm start, and the bot remains offline on Discord.
I have already tried npm cache clean --force,
rmdir /S /Q node_modules and npm install, but none of these worked.
Here are the console logs:
2021-05-09T11:37:13.225562+00:00 heroku[web.1]: Process exited with status 1
2021-05-09T11:37:13.398582+00:00 heroku[web.1]: State changed from starting to crashed
2021-05-09T11:37:20.322275+00:00 app[api]: Starting process with command `npm start` by user <email redacted>
2021-05-09T11:37:23.274907+00:00 heroku[run.4911]: State changed from starting to up
2021-05-09T11:37:23.427148+00:00 heroku[run.4911]: Awaiting client
2021-05-09T11:37:23.726119+00:00 heroku[run.4911]: Starting process with command `npm start`
2021-05-09T11:37:28.678579+00:00 heroku[run.4911]: Process exited with status 1
2021-05-09T11:37:28.742179+00:00 heroku[run.4911]: State changed from up to complete
2021-05-09T11:44:03.004685+00:00 heroku[web.1]: State changed from crashed to starting
2021-05-09T11:44:05.335454+00:00 heroku[web.1]: Starting process with command `npm start`
2021-05-09T11:44:08.088534+00:00 heroku[web.1]: Process exited with status 1
2021-05-09T11:44:08.229000+00:00 heroku[web.1]: State changed from starting to crashed
2021-05-09T11:44:08.232296+00:00 heroku[web.1]: State changed from crashed to starting
2021-05-09T11:44:08.000901+00:00 app[web.1]:
2021-05-09T11:44:08.000925+00:00 app[web.1]: > CalculatorBot#1.0.0 start /app
2021-05-09T11:44:08.000925+00:00 app[web.1]: > index.js
2021-05-09T11:44:08.000925+00:00 app[web.1]:
2021-05-09T11:44:08.005333+00:00 app[web.1]: sh: 1: index.js: not found
2021-05-09T11:44:08.012134+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2021-05-09T11:44:08.012381+00:00 app[web.1]: npm ERR! syscall spawn
2021-05-09T11:44:08.012474+00:00 app[web.1]: npm ERR! file sh
2021-05-09T11:44:08.012618+00:00 app[web.1]: npm ERR! errno ENOENT
2021-05-09T11:44:08.016105+00:00 app[web.1]: npm ERR! CalculatorBot#1.0.0 start: `index.js`
2021-05-09T11:44:08.016163+00:00 app[web.1]: npm ERR! spawn ENOENT
2021-05-09T11:44:08.016238+00:00 app[web.1]: npm ERR!
2021-05-09T11:44:08.016285+00:00 app[web.1]: npm ERR! Failed at the CalculatorBot#1.0.0 start script.
2021-05-09T11:44:08.016364+00:00 app[web.1]: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
2021-05-09T11:44:08.024564+00:00 app[web.1]:
2021-05-09T11:44:08.024647+00:00 app[web.1]: npm ERR! A complete log of this run can be found in:
2021-05-09T11:44:08.024701+00:00 app[web.1]: npm ERR! /app/.npm/_logs/2021-05-09T11_44_08_016Z-debug.log
2021-05-09T11:44:11.422108+00:00 heroku[web.1]: Starting process with command `npm start`
2021-05-09T11:44:14.301131+00:00 heroku[web.1]: Process exited with status 1
2021-05-09T11:44:14.438297+00:00 heroku[web.1]: State changed from starting to crashed
2021-05-09T11:44:14.212635+00:00 app[web.1]:
2021-05-09T11:44:14.212651+00:00 app[web.1]: > CalculatorBot#1.0.0 start /app
2021-05-09T11:44:14.212652+00:00 app[web.1]: > index.js
2021-05-09T11:44:14.212652+00:00 app[web.1]:
2021-05-09T11:44:14.217415+00:00 app[web.1]: sh: 1: index.js: not found
2021-05-09T11:44:14.225315+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2021-05-09T11:44:14.225593+00:00 app[web.1]: npm ERR! syscall spawn
2021-05-09T11:44:14.225710+00:00 app[web.1]: npm ERR! file sh
2021-05-09T11:44:14.225853+00:00 app[web.1]: npm ERR! errno ENOENT
2021-05-09T11:44:14.229827+00:00 app[web.1]: npm ERR! CalculatorBot#1.0.0 start: `index.js`
2021-05-09T11:44:14.229941+00:00 app[web.1]: npm ERR! spawn ENOENT
2021-05-09T11:44:14.230071+00:00 app[web.1]: npm ERR!
2021-05-09T11:44:14.230234+00:00 app[web.1]: npm ERR! Failed at the CalculatorBot#1.0.0 start script.
2021-05-09T11:44:14.230359+00:00 app[web.1]: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
2021-05-09T11:44:14.237148+00:00 app[web.1]:
2021-05-09T11:44:14.237336+00:00 app[web.1]: npm ERR! A complete log of this run can be found in:
2021-05-09T11:44:14.237482+00:00 app[web.1]: npm ERR! /app/.npm/_logs/2021-05-09T11_44_14_231Z-debug.log
And my package.json:
{
"name": "CalculatorBot",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "index.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"discord.js": "^12.5.3",
"math": "0.0.3"
}
}
Any ideas what I need to do to fix this, or if it is possible to run a Discord bot on Heroku?
change your package.json to the following
......
"start": "node index.js"
.......
Inside your Procfile put this line code same as I had listed here
web: node index.js
Now try again to deploy your WebApp with Heroku.

Heroku failing node app - try to run nodemon instead of node

I'm deploying my node app to Heroku and it's trying to invoke it with nodemon rather than the node app.js I have defined. my package.json(partial) looks like:
"scripts": {
"start": "node app.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"engines": {
"node": "7.9.0"
},
when I run heroku logs I get
2018-02-22T22:41:44.798831+00:00 heroku[web.1]: Starting process with command `npm start`
2018-02-22T22:41:47.235623+00:00 app[web.1]:
2018-02-22T22:41:47.235654+00:00 app[web.1]: > api-barber-app#1.0.0 start /app
2018-02-22T22:41:47.235657+00:00 app[web.1]: > nodemon app.js
2018-02-22T22:41:47.235659+00:00 app[web.1]:
2018-02-22T22:41:47.247464+00:00 app[web.1]: sh: 1: nodemon: not found
2018-02-22T22:41:47.253052+00:00 app[web.1]: npm ERR! file sh
2018-02-22T22:41:47.253319+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2018-02-22T22:41:47.253543+00:00 app[web.1]: npm ERR! errno ENOENT
2018-02-22T22:41:47.253787+00:00 app[web.1]: npm ERR! syscall spawn
2018-02-22T22:41:47.254995+00:00 app[web.1]: npm ERR! api-barber-app#1.0.0 start: `nodemon app.js`
2018-02-22T22:41:47.255145+00:00 app[web.1]: npm ERR! spawn ENOENT
2018-02-22T22:41:47.255420+00:00 app[web.1]: npm ERR!
2018-02-22T22:41:47.255617+00:00 app[web.1]: npm ERR! Failed at the api-barber-app#1.0.0 start script.
2018-02-22T22:41:47.255793+00:00 app[web.1]: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
2018-02-22T22:41:47.269400+00:00 app[web.1]:
2018-02-22T22:41:47.269715+00:00 app[web.1]: npm ERR! A complete log of this run can be found in:
2018-02-22T22:41:47.269916+00:00 app[web.1]: npm ERR! /app/.npm/_logs/2018-02-22T22_41_47_261Z-debug.log
2018-02-22T22:41:47.348415+00:00 heroku[web.1]: Process exited with status 1
2018-02-22T22:41:47.467170+00:00 heroku[web.1]: State changed from starting to crashed
2018-02-22T22:41:47.475956+00:00 heroku[web.1]: State changed from crashed to starting
2018-02-22T22:41:51.465439+00:00 heroku[web.1]: Starting process with command `npm start`
2018-02-22T22:41:54.918389+00:00 heroku[web.1]: Process exited with status 1
2018-02-22T22:41:54.679566+00:00 app[web.1]:
2018-02-22T22:41:54.679592+00:00 app[web.1]: > api-barber-app#1.0.0 start /app
2018-02-22T22:41:54.679594+00:00 app[web.1]: > nodemon app.js
2018-02-22T22:41:54.679596+00:00 app[web.1]:
2018-02-22T22:41:54.711632+00:00 app[web.1]: sh: 1: nodemon: not found
2018-02-22T22:41:54.759423+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2018-02-22T22:41:54.757722+00:00 app[web.1]: npm ERR! file sh
2018-02-22T22:41:54.761226+00:00 app[web.1]: npm ERR! syscall spawn
2018-02-22T22:41:54.760427+00:00 app[web.1]: npm ERR! errno ENOENT
2018-02-22T22:41:54.768513+00:00 app[web.1]: npm ERR! api-barber-app#1.0.0 start: `nodemon app.js`
2018-02-22T22:41:54.768637+00:00 app[web.1]: npm ERR! spawn ENOENT
2018-02-22T22:41:54.768942+00:00 app[web.1]: npm ERR!
2018-02-22T22:41:54.769147+00:00 app[web.1]: npm ERR! Failed at the api-barber-app#1.0.0 start script.
2018-02-22T22:41:54.769369+00:00 app[web.1]: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
2018-02-22T22:41:54.825892+00:00 app[web.1]:
2018-02-22T22:41:54.826567+00:00 app[web.1]: npm ERR! A complete log of this run can be found in:
2018-02-22T22:41:54.827196+00:00 app[web.1]: npm ERR! /app/.npm/_logs/2018-02-22T22_41_54_816Z-debug.log
2018-02-22T22:41:54.934234+00:00 heroku[web.1]: State changed from starting to crashed
it try to run nodemon (what I had before) instead of node.js.
then when I push heroku it crash and not let me upload it right way.
heroku runs in a production environment by default so it does not install the dev dependencies, you can create a two npm script to avoid this error by running nodemon only in your localhost like that:
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node app.js",
"start:dev": "nodemon --watch"
},
and when you want to run the project locally just run in your terminal npm run start:dev and it will load app.js by nodemon.
while in heroku npm start runs by default and load app.js from a normal node command and you get rid of that error.
I just had the same problem. After wasting a lot of time, I discovered that the whole time I was deploying the wrong branch. So if you are writing 'git push heroku master' for instance, 'master' is the branch you are pushing even if you are currently on a different branch.
Looks like nodemon is not in the dependencies, can you provide the package.json, make sure nodemon is in your dependencies

Error while deploying NodeJs app on Heroku

I've tried to deploy my NodeJs app on Heroku, follows all steps on Heroku guide but I can't make it running. Here is the log:
2016-06-27T18:46:16.424477+00:00 heroku[web.1]: State changed from crashed to starting
2016-06-27T18:46:18.594534+00:00 heroku[web.1]: Starting process with command `npm start`
2016-06-27T18:46:21.204182+00:00 app[web.1]: npm ERR! Linux 3.13.0-85-generic
2016-06-27T18:46:21.205909+00:00 app[web.1]: npm ERR! npm v3.8.6
2016-06-27T18:46:21.204971+00:00 app[web.1]: npm ERR! argv "/app/.heroku/node/bin/node" "/app/.heroku/node/bin/npm" "start"
2016-06-27T18:46:21.209309+00:00 app[web.1]: npm ERR! missing script: start
2016-06-27T18:46:21.221679+00:00 app[web.1]: npm ERR! Please include the following file with any support request:
2016-06-27T18:46:21.209934+00:00 app[web.1]: npm ERR! <https://github.com/npm/npm/issues>
2016-06-27T18:46:21.207755+00:00 app[web.1]:
2016-06-27T18:46:21.221362+00:00 app[web.1]:
2016-06-27T18:46:21.209552+00:00 app[web.1]: npm ERR!
2016-06-27T18:46:21.209740+00:00 app[web.1]: npm ERR! If you need help, you may report this error at:
2016-06-27T18:46:21.221872+00:00 app[web.1]: npm ERR! /app/npm-debug.log
2016-06-27T18:46:21.205374+00:00 app[web.1]: npm ERR! node v5.11.1
2016-06-27T18:46:22.240678+00:00 heroku[web.1]: Process exited with status 1
2016-06-27T18:46:22.255389+00:00 heroku[web.1]: State changed from starting to crashed
Any thoughts?
[EDIT]
package.json:
"engines": {
"node": "5.11.1",
"npm": "3.8.6"
},
"scripts": {
"start": "node app.js"
},
Procfile:
web: npm start
package.json
{
"name": "your-project-name",
"version": "1.0.0",
"description": "desc",
"main": "app.js",
"scripts": {
"start": "node app.js",
...
}
...
}
Procfile
Above package.json is file good to go without a Procfile. Yet, if you want to have one, you can define it as follows:
web: node app.js
You need to tell Heroku how to start your app. Either do that by specifying a "start" script in package.json, or by providing a Procfile.

package.json start script, babel-node: not found on heroku deploy

When I run heroku local or when I just do npm start locally, my app builds and runs fine. However when I deploy to heroku, the app crashes saying it cannot find babel-node.
Here is the log output:
2016-04-21T22:20:44.320025+00:00 heroku[api]: Deploy 5d9a9da by eagsalazar#gmail.com
2016-04-21T22:20:44.320084+00:00 heroku[api]: Release v9 created by eagsalazar#gmail.com
2016-04-21T22:20:44.542062+00:00 heroku[slug-compiler]: Slug compilation started
2016-04-21T22:20:44.542069+00:00 heroku[slug-compiler]: Slug compilation finished
2016-04-21T22:20:44.501025+00:00 heroku[web.1]: State changed from crashed to starting
2016-04-21T22:20:46.278065+00:00 heroku[web.1]: Starting process with command `npm start`
2016-04-21T22:20:50.467407+00:00 app[web.1]:
2016-04-21T22:20:50.467434+00:00 app[web.1]: > qc-server#1.0.0 start /app
2016-04-21T22:20:50.467435+00:00 app[web.1]: > babel-node index.js
2016-04-21T22:20:50.467436+00:00 app[web.1]:
2016-04-21T22:20:50.479490+00:00 app[web.1]: sh: 1: babel-node: not found
2016-04-21T22:20:50.521936+00:00 app[web.1]:
2016-04-21T22:20:50.538822+00:00 app[web.1]: npm ERR! Linux 3.13.0-79-generic
2016-04-21T22:20:50.539334+00:00 app[web.1]: npm ERR! argv "/app/.heroku/node/bin/node" "/app/.heroku/node/bin/npm" "start"
2016-04-21T22:20:50.539595+00:00 app[web.1]: npm ERR! node v5.10.1
2016-04-21T22:20:50.555119+00:00 app[web.1]: npm ERR! npm v3.8.3
2016-04-21T22:20:50.555339+00:00 app[web.1]: npm ERR! file sh
2016-04-21T22:20:50.555549+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2016-04-21T22:20:50.555769+00:00 app[web.1]: npm ERR! errno ENOENT
2016-04-21T22:20:50.555965+00:00 app[web.1]: npm ERR! syscall spawn
2016-04-21T22:20:50.556142+00:00 app[web.1]: npm ERR! qc-server#1.0.0 start: `babel-node index.js`
2016-04-21T22:20:50.556305+00:00 app[web.1]: npm ERR! spawn ENOENT
2016-04-21T22:20:50.556488+00:00 app[web.1]: npm ERR!
2016-04-21T22:20:50.556666+00:00 app[web.1]: npm ERR! Failed at the qc-server#1.0.0 start script 'babel-node index.js'.
2016-04-21T22:20:50.556854+00:00 app[web.1]: npm ERR! Make sure you have the latest version of node.js and npm installed.
2016-04-21T22:20:50.557017+00:00 app[web.1]: npm ERR! If you do, this is most likely a problem with the qc-server package,
2016-04-21T22:20:50.557175+00:00 app[web.1]: npm ERR! not with npm itself.
2016-04-21T22:20:50.557343+00:00 app[web.1]: npm ERR! Tell the author that this fails on your system:
2016-04-21T22:20:50.557564+00:00 app[web.1]: npm ERR! babel-node index.js
2016-04-21T22:20:50.557741+00:00 app[web.1]: npm ERR! You can get information on how to open an issue for this project with:
2016-04-21T22:20:50.557916+00:00 app[web.1]: npm ERR! npm bugs qc-server
2016-04-21T22:20:50.558110+00:00 app[web.1]: npm ERR! Or if that isn't available, you can get their info via:
2016-04-21T22:20:50.558306+00:00 app[web.1]: npm ERR! npm owner ls qc-server
2016-04-21T22:20:50.558492+00:00 app[web.1]: npm ERR! There is likely additional logging output above.
2016-04-21T22:20:50.563859+00:00 app[web.1]:
2016-04-21T22:20:50.567790+00:00 app[web.1]: npm ERR! Please include the following file with any support request:
2016-04-21T22:20:50.568004+00:00 app[web.1]: npm ERR! /app/npm-debug.log
2016-04-21T22:20:51.824822+00:00 heroku[web.1]: State changed from starting to crashed
2016-04-21T22:20:51.808246+00:00 heroku[web.1]: Process exited with status 1
My package.json:
{
"name": "qc-server",
"version": "1.0.0",
"description": "xxxx",
"main": "index.js",
"scripts": {
"test": "mocha --compilers js:babel-core/register --require ./test/test_helper.js 'test/**/*.js'",
"test:watch": "npm run test -- --watch -G",
"start": "babel-node index.js"
},
"babel": {
"presets": [
"es2015"
]
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"babel-cli": "^6.6.0",
"babel-core": "^6.6.0",
"babel-eslint": "^5.0.0",
"babel-preset-es2015": "^6.6.0",
"chai": "^3.5.0",
"chai-immutable": "^1.5.3",
"eslint": "^2.2.0",
"eslint-config-airbnb": "^6.0.2",
"eslint-plugin-react": "^4.1.0",
"mocha": "^2.4.5"
},
"dependencies": {
"express": "^4.13.4",
"immutable": "^3.7.6",
"node-uuid": "^1.4.7",
"redux": "^3.3.1",
"socket.io": "^1.4.5"
}
}
Anyone have suggestions?
You have to include the dependency in you package.json so it will install it when you deploy.
$ npm install babel-cli -S
Than you have to change you start command to be like:
"start": "babel-node index.js"
See here for more info on deploying babel on heroku.com.
Warning: using babel-node is not recommended in production
I got the same issue, but I think set NPM_CONFIG_PRODUCTION=false to install devDependencies will be better. I used below command:
heroku config:set NPM_CONFIG_PRODUCTION=false
Specifically, include the necessary dependency under 'dependencies' and not 'devDependencies' in your 'package.json file'. This is because Heroku prunes (removes) your 'devDependencies' once it completes its build process, leaving only the 'dependencies', to keep the app as lean as possible.
This causes errors if you've built your NodeJS app using ES6 modules and included the necessary dependencies under 'devDependencies' instead of 'dependencies', namely the '#babel/' family of dependencies.
Update
You should always build your NodeJS App before you deploy it so that you are always running the production build in the live environment which executes much faster with fewer resources.

Resources