はじめに
AWSのLightsailを用いてRubyの学習環境を整えようと奮闘していた最中であった。
rbenvをインストールするところまでは良かったのに、いざ最新バージョンのruby3.3.0(2024/02/20現在)をインストールしようとしたら、3度もビルドに失敗したのでそれぞれのエラーに対する処置を隠すことなくここに書き留めておこうと思う。
なお、使用していたOSはDebian12だが、同系統のUbuntuでも同様な対処が可能と予想する。
ちなみにrbenvコマンドを使うと以下のようにバージョンを選択してインストールが可能。
$ rbenv install 3.3.0
1度目のエラー
まぁ何事も初めてのエラーに対してはあいさつのようなものだと思って淡々と対処していく。
ログを見てみると、以下のようなfatal errorが見つかった。
crypto/comp/c_zlib.c:36:11: fatal error: zlib.h: No such file or directory
zlib.hというファイルが見当たらなくて困っているようだったので、色々調べてみたら以下のコマンドで解決できることが判明。
$ sudo apt-get install libz-dev
2度目のエラー
またエラーが発生した、、、。
ログを見てみると、前回とは違うメッセージが出ていたので進展はあったようだと一安心。
missing libffi. Please install libffi or use --with-libffi-source-dir with libffi source location.
libffiが見つからないのでインストールしてねと言われてしまったので、言われたとおりに以下のコマンドを実行してlibffi-devをインストール。
$ sudo apt-get install libffi-dev
3度目のエラー
またまたエラーが出てきた。
今回は指定の場所にOpenSSLライブラリが見つからないとのこと。
OpenSSL library directory could not be found in '/home/admin/.rbenv/versions/3.3.0/openssl/lib'
何が足りないのか一度で教えてくれるものがあったらいいのにと思いつつも、以下のコマンドを実行してOpenSSLをインストール。
$ brew install openssl
成功
3度目の正直でようやくruby3.3.0のインストールに成功しました。
インストールだけで1時間以上かかるという話も聞くので、これからrubyを一からインストールする場合は、上のコマンドを忘れずに実行しようと思う。
参考記事
https://stackoverflow.com/questions/18148075/compilation-error-missing-zlib-h
https://askubuntu.com/questions/626138/unable-to-locate-package-libffi-dev
https://codenote.net/mac/homebrew/2134.html