はじめに
11/9にRuby 3.1.0 Preview版がリリースされました!
早速使ってみたかったので、ruby-3-1-0-preview1が動作できる環境を作ってみました。
(10分くらいでできます。)
rbenvに対象のバージョンがなさそうだったので、ソースからビルドする方法で行いました。
rbenv install --list-all | grep 3.1.0
# 3.1.0-dev
# ruby-3-1-0-preview1がない
動作環境
Mac OS Big Sur 11.2.1(20D74)
gcc version 4.9.4 (Homebrew GCC 4.9.4)
環境構築
※こちらのコードをcloneすればスムーズにできますので、参考にしてください
まず、ビルド後のファイルを格納するディレクトリを作ります。
mkdir installed_files
Ruby 3.1.0 Preview版のソースコードをダウンロードして解凍します。
解凍後、ruby-3.1.0-preview1
ディレクトリが作成されます。
wget https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.0-preview1.tar.gz
tar -zxvf ruby-3.1.0-preview1.tar.gz # untar
現状のディレクトリ構造は以下のようになります。
.
├── installed_files
├── ruby-3.1.0-preview1
└── ruby-3.1.0-preview1.tar.gz
次にソースからビルドをします。(参照 Rubyのインストール)
解凍後の作成されるruby-3.1.0-preview1
ディレクトリに移動して以下を実行します。
# 解凍後のディレクトリに移動
cd ruby-3.1.0-preview1
# ビルド後に生成されるファイルをinstalled_filesディレクトリに保存する設定
./configure --prefix="`pwd | xargs dirname`/installed_files"
# ビルド
make
sudo make install
installed_files
ディレクトリにファイルが生成されていれば、ビルド完了です。
以下のディレクトリ構成になります。
.
├── installed_files
│ ├── bin
│ ├── include
│ ├── lib
│ └── share
├── ruby-3.1.0-preview1
└── ruby-3.1.0-preview1.tar.gz
Rubyの実行
実行用のスクリプトmain.rb
を作ります。
cd ../ # 解凍後の`ruby-3.1.0-preview1`フォルダから一つ上に戻る
touch main.rb
以下のコードをmain.rbに書きます。
ちなみに内容は新しく機能追加されたHashのシンタックスシュガー{ a: }
の実行例です。
puts "hello ruby 3.1.0 !"
puts ""
puts <<'TEXT'
・Values in Hash literals and keyword arguments can be omitted. [Feature #14579]
TEXT
a = 'hoge'
h = { a: a }
puts <<"TEXT"
normal syntax : { a : a } => #{h}
TEXT
h = { a: }
puts <<"TEXT"
syntax sugar : { a: } => #{h}
TEXT
ビルド後の生成されたrubyのbinを指定して、3.1.0 Preview版を実行します
installed_files/bin/ruby main.rb
以下の出力がされればOKです。
hello ruby 3.1.0 !
・Values in Hash literals and keyword arguments can be omitted. [Feature #14579]
normal syntax : { a : a } => {:a=>"hoge"}
syntax sugar : { a: } => {:a=>"hoge"}
main.rbを変更すれば、他の機能を試せると思います。
最後に
何か不足な情報があればご教示いただければ幸いです。