The official ruby snap is available

Posted by Hiroshi SHIBATA on 8 Nov 2018

Ruby の公式 snap パッケージをリリースしました。

https://snapcraft.io/ruby

snap は canonical が開発している新しいパッケージシステムです。独自のファイルシステムを利用して、バイナリの動作に必要なライブラリを全てパッケージングして配布することができます。snap を利用することで、 yum や apt のような Linux ディストリビューションのパッケージシステムを利用した時に、任意のバージョンをユーザーが自由に使うことができない問題を解決しました。

Ubuntu 16.04 以降のディストリビューションなら以下のコマンドで snap ruby を使うことができます。

sudo snap install ruby --classic

Ubuntu 以外のディストリビューションで snap を利用する場合の準備については https://docs.snapcraft.io/installing-snapd/6735 を参照してください。

Ruby の snap パッケージは channel と呼ばれる機能を用いて、現在メンテナンスしているバージョンを配信しています。例えば、2018/11 現在 channel を指定しない場合は 2.5.3 がインストールされますが、2.4 を利用したい場合は以下のように指定します。

sudo snap install ruby --classic --channel=2.4/stable

snap の機能を使うと複数の Ruby のバージョンを利用することができます。例えば、Ruby 2.3 に切り替えるには以下のコマンドを実行します。

sudo snap switch ruby --channel=2.3/stable
sudo snap refresh

また、snap の制限事項として、RubyGems は $HOME/.gem にインストールされるように GEM_HOME と GEM_PATH を設定しています。そのため、rails や rspec などのコマンドを bundle exec を用いずに実行したい場合は以下の行を .bashrc などに設定する必要があります。

eval `ruby.env`

$HOME/.gem は複数のバージョンで共有されるため、バージョンを切り替えて利用した場合、C 拡張などは gem pristine --extensions コマンドを用いて再コンパイルする必要があります。

この ruby snap は 11/6-8 にロンドンの canonical オフィスで開催された snapcraft summit で初めて公式バージョンをリリースしました。不具合やフィードバックは https://github.com/ruby/snap.ruby で受け付けています。お楽しみください。

最近のニュース

Ruby 4.0.0 リリース

Ruby 4.0.0 が公開されました。 Ruby 4.0 には “Ruby Box”、”ZJIT” ほか多数の改善が含まれています。

Posted by naruse on 25 Dec 2025

もっと読む...