dokku構築後にサンプルプログラムをプッシュしたところ、以下のエラーが表示された。Rubyのバージョンが古かったのが原因。
(なんと2.2.1を使っていた。現時点の最新は2.6.3。旧Macから新Macに移行したので、知らずに古いバージョンを使っていたようだ)。
!
! An error occurred while installing ruby-2.2.1
!
! This version of Ruby is not available on Heroku-18. The minimum supported version
! of Ruby on the Heroku-18 stack can found at:
!
! https://devcenter.heroku.com/articles/ruby-support#supported-runtimes
!
エラー内容
そこで、rbenvでインストールを実行したところ、以下のエラーが表示された。
$ rbenv install -v 2.6.3
〜〜〜省略〜〜〜
make: *** [file.o] Error 1
make: *** Waiting for unfinished jobs....
BUILD FAILED (OS X 10.14.4 using ruby-build 20190423)
Inspect or clean up the working tree at /var/folders/3k/d71m0mk56gj4wgfnr5wzsr2r0000gp/T/ruby-build.20190429232112.27851
Results logged to /var/folders/3k/d71m0mk56gj4wgfnr5wzsr2r0000gp/T/ruby-build.20190429232112.27851.log
Last 10 log lines:
/usr/local/include/Block.h:263:2: error: unknown type name 'lzma_bool'
lzma_bool reserved_bool2;
^
/usr/local/include/Block.h:264:2: error: unknown type name 'lzma_bool'
lzma_bool reserved_bool3;
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
〜〜〜省略〜〜〜
理由などは以下記事を参照。
high sierra で rbenv を使おうとしたら迷路に迷い込んだ
対応策
/usr/local/include をリネームして空フォルダを作るだけ。
$ sudo mv /usr/local/include /usr/local/include-old
$ sudo mkdir /usr/local/include
そのあとにrbnevでインストールしたら成功した。
$ rbenv install -v 2.6.3
〜〜〜省略〜〜〜
Installed ruby-2.6.3 to /Users/watashi/.rbenv/versions/2.6.3
参考
以下の記事のおかげで迷わずに助かりました。ありがとうございました。
GitHubのrbenvでも
After upgrading to 10.14, I encountered the similar error.
Follow the comments below, I deleted ( = mv)/usr/local/include folder. And I succeeded in installing rbenv (like rbenv install 2.5.1 ).
とのコメントあり。