概要

従来のMacとは異なるCPUのアーキテクチャを採用したApple Siliconが公開されました。

ここでは、Apple Siliconのひとつである、M1チップを搭載したMacへRubyの環境をインストールしましたので、その方法を紹介します。

環境

  • MacBook Pro M1 (2020)
  • Ruby 3.1.2

インストール方法

Rubyのインストールには、rbenvを利用します。rbenvを使うことでバージョンの異なる複数のRubyをインストールしやすくなります。開発をする上で、バージョンが異なるRubyを実行したいということが時々あるので、これはとても便利です。

また、rbenvのインストールにはHomebrewを利用します。Homebrewを利用することで、rbenvのインストールが楽になります。

rbenvのインストール

Homebrewを利用してrbenvをインストールするために、ターミナルで次のコマンドを実行します。

brew install rbenv ruby-build

さらに、rbenvに関連する環境変数を設定します。設定のために、次のコマンドを実行します。私はターミナルのシェルとして、デフォルトのzshを利用しているので、.zshrcに書き込んでいます。もしもbashを利用している場合は.bashrcや.bash_profileに書き込んでください。

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.zshrc
source ~/.zsrhc

環境変数の設定を反映させるために、sourceコマンドを実行しています。

これで、rbenvの準備は終わりです。

Rubyのインストール

ここから、Rubyのインストールを行います。

Rubyのインストールの前に、rbenvでインストールできるRubyのバージョンを確認します。

rbenv install -l
2.6.10
2.7.6
3.0.4
3.1.2
jruby-9.3.6.0
mruby-3.1.0
picoruby-3.0.0
rbx-5.0
truffleruby-22.1.0
truffleruby+graalvm-22.1.0

Only latest stable releases for each Ruby implementation are shown.
Use 'rbenv install --list-all / -L' to show all local versions.

インストールできるバージョンを確認できます。ここに表示されているのは、メジャーバージョンごとの最新や、Rubyの種類ごとの最新のものです。一般的なRuby(CRuby)の他にもJavaで実行環境を利用するJRubyなどもインストール可能です。

ここでは、CRubyのバージョン3.1.2をインストールします。

rbenv install 3.1.2
Downloading openssl-3.0.5.tar.gz...
-> https://dqw8nmjcqpjn7.cloudfront.net/aa7d8d9bef71ad6525c55ba11e5f4397889ce49c2c9349dcea6d3e4f0b024a7a
Installing openssl-3.0.5...
Installed openssl-3.0.5 to /Users/ユーザー名/.rbenv/versions/3.1.2

Downloading ruby-3.1.2.tar.gz...
-> https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.2.tar.gz
Installing ruby-3.1.2...
ruby-build: using readline from homebrew
Installed ruby-3.1.2 to /Users/ユーザー名/.rbenv/versions/3.1.2

これで、Rubyのインストールは終わりです。インストールには5分ほどかかりました。

rbenvの仕組み上、インストール後には次のコマンドを実行する必要があります。このコマンドでは、RubyやRubyGemsに関連するコマンドを実行するときに、バージョン毎に異なる実行ファイルの場所から、適切な実行ファイルを選択するために実行します。

rbenv rehash

Rubyの利用

これまででRubyのインストールは終わりました。しかし、まだ利用できる状態ではありません。rbenvで利用するバージョンを指定する必要があります。

rbenvで利用できるRubyのバージョンは次のコマンドで確認できます。

rbenv versions
* system
  3.1.2 (set by /Users/ユーザー名/.rbenv/version)

現在は、MacにデフォルトでインストールされているRubyが利用されています。そのため次のコマンドでRubyのバージョンを切り替えます。

rbenv global 3.1.2

これで、インストールしたRubyが利用できるようになりました。

ruby --version
ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [arm64-darwin21]

バージョンの表記でarm64と記述されているため、Apple Silicon用のバイナリがインストールできているようです。

さいごに

今までのIntel製CPUを搭載したMacではなく、Apple SiliconであるM1チップを搭載したMacを利用したため、インストールでうまくいかないのではないかと思っていました。

しかし、実際にやってみると、従来と同じ方法でインストールできました。