ruby-build の各バージョンの仕組みについて
備忘録。
Ruby の trunk に入った新機能を試す過程で ruby-build のスクリプトを調べたので、その概略についてのメモを残す。
ruby-build のコミット ca85eba に基づいた情報です。
各バージョンをインストールするスクリプト
rbenv 経由で ruby-build を使っている場合、 rbenv install --list
でインストール可能なバージョンの一覧を出力できる。ruby-build の share/ruby-build/
以下に各バージョンに対応するインストールスクリプトがある。
安定版のインストール
2.6.3 のインストールスクリプトは以下の通り。
このスクリプトで使われている install_package
は↓で定義されているヘルパー関数である。
https://github.com/rbenv/ruby-build/blob/ca85eba8c628c9c7b392f7e07162938f1dc59725/bin/ruby-build
install_package
は引数で指定された tarball をダウンロード・ビルドする。
CRuby の trunk バージョンのインストール
この記事の時点では 2.7.0-dev
が trunk に相当する。 ↓が対応するインストールスクリプトになる。
安定版の CRuby インストールスクリプトでは install_pacakge
を使うのに対し、trunk は install_git
を使っており、これは tarball をダウンロードする代わりに Github の ruby/ruby
から clone してビルドしてくれる。