LoginSignup
5
4

More than 5 years have passed since last update.

Node.js + ExpressをHerokuに公開

Posted at

簡単に公開できると思ったら、想像以上にハマったので自分用にメモ。今思えば、ググって見つるかる情報と、自分が使うバージョンが違ったからなのが原因だったのかも。

開発環境

ubuntu v16.04.3
node v6.11.1
npm v5.3.0
express-generator v4.13.0

公開までの手順

これをやれば公開できたという道筋を書いていく。ハマったところはメモを残す。

app.jsonの作成

{
  "name": "XXXXXXXXXX",
  "description": "XXXXXXXXXX",
  "logo": "",
  "keywords": ["node"],
  "image": "heroku/nodejs"
}

XXXのところは適宜変更。

package.jsonの編集

  "engines": {
    "node": "6.11.1",
    "npm": "5.3.0"
  }

これを追記。バージョンは適宜変更。

Procfileを作成

web: node ./bin/www

ここで注意したいのは、"./bin/www"の部分は、package.jsonの "scripts": { "start": "XXX" } の内容を書く必要があるということ。ググって出てきた、app.jsとか、index.jsとかを真似してHerokuに怒られた。

app.jsを編集

// Heroku
app.set('port', (process.env.PORT || 8000));

Herokuで使用されるPORTの環境変数を追記する。また、ローカルで動かせるように自分で使っているポート番号をORで残しておく。

.gitignoreを編集

これは人によってだと思うが、アプリの起動に必要なファイルがgitignoreに登録されていたら外しておく。ローカルで動いて、Herokuで動かないというバグが起こる。

gitにコミット

git add .
git commit -m "Herokuに対応"

ここまで出来たらコミット。

Herokuへ公開

heroku login
heroku create XXX
heroku git:remote -a XXX
git push heroku master

これで完了。Herokuのアカウントをまだ持ってない人は先に作って、CLIで動かせるようにすること。

もしハマったら...

heroku logs

エラーが見れるので頑張る。また、Herokuの"View logs"からもエラーは見れるので、やっぱり頑張る。

終わり

これで全て網羅できているはず。思い出しながら書いているので漏れがあったらごめんなさい。あくまで自分用のメモということで。

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4