Ubuntu にて rbenv で 3.3.1 のインストールでエラーがでたので --with-baseruby で対処した

状況

現状の Ruby が 3.3.0 の状況において $ rbenv install 3.3.1 を実行するとエラーが出て、以下のようなログが出ました。

1727 make[2]: ディレクトリ '/tmp/ruby-build.20240424104050.96605.DfIbDe/ruby-3.3.1/ext/ripper' から出ます
1728 make[2]: ディレクトリ '/tmp/ruby-build.20240424104050.96605.DfIbDe/ruby-3.3.1' に入ります
1729 tool/file2lastrev.rb:6:in `require': cannot load such file -- optparse (LoadError)
1730 »-from tool/file2lastrev.rb:6:in `<main>'
1731 ./tool/file2lastrev.rb:6:in `require': cannot load such file -- optparse (LoadError)
1732 »-from ./tool/file2lastrev.rb:6:in `<main>'
1733 make[2]: *** [uncommon.mk:1322: .revision.time] エラー 1
1734 make[2]: ディレクトリ '/tmp/ruby-build.20240424104050.96605.DfIbDe/ruby-3.3.1' から出ます
1735 make[1]: *** [exts.mk:99: ruby] エラー 2
1736 make[1]: ディレクトリ '/tmp/ruby-build.20240424104050.96605.DfIbDe/ruby-3.3.1' から出ます
1737 make: *** [uncommon.mk:397: build-ext] エラー 2
1738 external command failed with status 2

どうしたか

環境変数 RUBY_CONFIGURE_OPTS="--with-baseruby=$HOME/.rbenv/versions/3.2.3/bin/ruby" を付与して実行したところ、インストールが正常に終了しました。3.2.3 というのは適当に入れた値です*1

$ RUBY_CONFIGURE_OPTS="--with-baseruby=$HOME/.rbenv/versions/3.2.3/bin/ruby" rbenv install 3.3.1
==> Downloading ruby-3.3.1.tar.gz...
-> curl -q -fL -o ruby-3.3.1.tar.gz https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.1.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 21.0M  100 21.0M    0     0  30.5M      0 --:--:-- --:--:-- --:--:-- 30.5M
==> Installing ruby-3.3.1...
-> ./configure "--prefix=$HOME/.rbenv/versions/3.3.1" --enable-shared --with-ext=openssl,psych,+ "--with-baseruby=$HOME/.rbenv/versions/3.2.3/bin/ruby"
-> make -j 20
-> make install
==> Installed ruby-3.3.1 to /home/foobar/.rbenv/versions/3.3.1

参考的なもの

github.com

*1:もちろん、あらかじめインストールされている必要があります

Powered by はてなブログ