Ruby 3.0.0 preview1 の インストール
イントロ
Ruby 3.0.0 preview1がリリースされました。
RBS、Ractorなど新しい機能が試してみたいところですね。
手順
ruby-build の アップグレード
まずruby-buildのバージョンアップをしましょう。
$ brew upgrade ruby-build
インストール時のメッセージにOpenSSLのバージョンに関して注釈があります。
ruby-build installs a non-Homebrew OpenSSL for each Ruby version installed and these are never upgraded. To link Rubies to Homebrew's OpenSSL 1.1 (which is upgraded) add the following to your ~/.config/fish/config.fish: export RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix openssl@1.1)"
簡単に訳すと
ruby-build はインストールされた Ruby のバージョンごとに、Homebrew ではない OpenSSL をインストールしますが、これらは決してアップグレードされません。 RubyをHomebrewのOpenSSL 1.1(アップグレードされている)にリンクさせるには、次のように追加します。 あなたの設定ファイルに: export RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix openssl@1.1)"
私の場合はシェルがfishなので
このexportは設定できないのでset -xでglobalに設定します。
set -x RUBY_CONFIGURE_OPTS --with-openssl-dir=(brew --prefix openssl@1.1)
ruby の インストール
install list を確認
rbenv install --list は stable のみが表示されるためまだ3.0は表示されません。
$ rbenv install --list 2.5.8 2.6.6 2.7.1 jruby-9.2.13.0 maglev-1.0.0 mruby-2.1.2 rbx-5.0 truffleruby-20.2.0 truffleruby+graalvm-20.2.0 Only latest stable releases for each Ruby implementation are shown. Use 'rbenv install --list-all' to show all local versions.
--list-all ですべてが表示されるので3.0.0-preview1が追加されていることを確認しましょう。
ローカルのOpenSSLバージョン確認
ローカルのOpenSSLのバージョンを確認
$ openssl version OpenSSL 1.1.1g 21 Apr 2020
同じバージョンなので設定したものをつかってもらうことにします。
rbenv install
普通にインストールすると
$ rbenv install 3.0.0-preview1 Downloading openssl-1.1.1g.tar.gz... -> https://dqw8nmjcqpjn7.cloudfront.net/ddb04774f1e32f0c49751e21b67216ac87852ceb056b75209af2443400636d46 Installing openssl-1.1.1g...
このようにOpenSSLのインストールから開始されます。
先程の RUBY_CONFIGURE_OPTS のオプションを追加しておくと設定されたOpenSSLを使ってもらえます。
$ rbenv install 3.0.0-preview1 Downloading ruby-3.0.0-preview1.tar.bz2... -> https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.0-preview1.tar.bz2 Installing ruby-3.0.0-preview1...
上記のようにRUBY_CONFIGURE_OPTSを設定しているとrubyのインストールが始まります。 こうすることでインストール時間も節約できますね。
$ rbenv local 3.0.0-preview1 $ ruby -v ruby 3.0.0preview1 (2020-09-25 master 0096d2b895) [x86_64-darwin19]
Enjoy Ruby life!