Androidのメモとか

ポキオの日記です。今日も遅延してない。

HerokuはNode.jsのバージョンを指定してデプロイできる

メモ。

ポキオ heroku node.js バージョン指定

ハマったのでメモ

Node.jsのバージョンが変わりがちなので。

devcenter.heroku.com

公式にも書いてあるとおり、

  "engines": {
    "node": "8.12.0",
    "npm": "6.4.1"
  }

こんな感じでpackage.jsonに記載することで、Node.jsとnpmのバージョンを指定してHeroku上でAppを動かすことができる。

話の発端

enebularからflowをHerokuにデプロイしようとしたときに、最初にenebularのエージェントアプリをHerokuにデプロイする必要がある。

github.com

ただ、これをPushしようとするとエラーで止まってしまう。

       We're sorry this build is failing! You can troubleshoot common issues here:
       https://devcenter.heroku.com/articles/troubleshooting-node-deploys
       
       Some possible problems:
       
       - Node version not specified in package.json
         https://devcenter.heroku.com/articles/nodejs-support#specifying-a-node-js-version
       
       Love,
       Heroku
       
 !     Push rejected, failed to compile Node.js app.
 !     Push failed

Node.js now defaults to Node 10 | Heroku Dev Center

なんか、HerokuのデフォルトNode.jsも8→10に変わってるっぽいので、本家リポジトリからフォークして、先程の方法でNode.jsのバージョン指定をしたものを作ってみました。

github.com

これだと、確かに指定したNode.jsとnpmが使われてそう・・・。

-----> Installing binaries
       engines.node (package.json):  8.12.0
       engines.npm (package.json):   6.4.1
       
       Resolving node version 8.12.0...
       Downloading and installing node 8.12.0...
       npm 6.4.1 already installed with node

めっちゃ怒られながらも、なんとかPushができました。

ただ、未だにflowをenebularからHerokuにデプロイすると、e-node-redが無い、と怒られる。困った。

「Androidのメモとか」は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。

このブログは個人的なメモ書きであったり、考えを書く場所であります。執筆者の所属する団体や企業のコメントや意向とは無関係であります。また、このブログは必ずしも正しいことが書かれているとは限らず、誤字脱字や意図せず誤った情報を載せる場合がありえます。それが原因で読者が不利益を被ったとしても、執筆者はいかなる責任も負いません。ありがとうございます。