Heroku does not read node version

放肆的年华 提交于 2019-12-04 00:03:49

@rdegges was right that the package.json wasn't correctly committed to Heroku. So just following the Heroku instructions didn't work for me for some reason. Here is what I had to do in order to make it work.

git clone <my git project>
heroku create <app name>

#remove package.json
mv package.json tmp_package.json
git add package.json
git commit -m "removed package.json"

#re-add package.json
mv tmp_package.json package.json
git add package.json
git commit -m "re-added package.json"

git push heroku master

This works for me -- make sure you've actually committed these changes to Git, and pushed the repository to Heroku. You may also want to specify exact Node and NPM release numbers for your Heroku app.

While this WILL WORK with the variable releases you've got specified, it's not recommended, as small changes in releases might cause issues for you.

For reference, here are the Heroku docs on specifying a Node.js runtime as well: https://devcenter.heroku.com/articles/nodejs-support#node-js-runtimes

Maybe your master branch is not the branch is not updated, try merging the branch that you want to deploy into master in order to use:

git push heroku master

I tried the other solutions, but it didn't work for me. However, by changing the name field in package.json, it worked:

From:

{
  ...
  "name": "foo"
  ...
}

To:

{
  ...
  "name": "bar"
  ...
}

Alternative 2:

When I had to do the same on my other computer, it didn't work, but I tried removing package.json, recreating it from scratch, and then it worked for some odd reason (file metadata?):

$ rm package.json
$ npm init
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!