💡

wsl(ubuntu)上にrubyをインストール

2023/06/21に公開

はじめに

PCのリプレイスがあり、開発環境(wsl)を一から構築する機会がありました。
ubuntu(22.04)にrubyをインストールした際、いつも通り「rbenv」でrubyを入れていましたが、OpenSSLのバージョンの柵でインストールができないという問題が発生しました。
その際のメモです。

環境

wsl:ubuntu 22.04

snapの調査

Ubuntuではディストリビューションを問わず利用できる「ユニバーサルパッケージ」

内容理解はこちらを参考にしました
https://gihyo.jp/admin/serial/01/ubuntu-recipe/0654

最新のrubyのインストール

Ruby の公式 snap パッケージなるものが存在しており、ruby 3.2をインストールするには以下のコマンドで問題なくにインストールができました

sudo snap install ruby --classic

バージョンの確認

snap info ruby

バージョン指定でのインストール

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

バージョン切り替え

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

利用後の感想

今までrbenvを利用していましたが、単純にrubyをインストールするだけなら、これでもいいと感じました。(インストールが1コマンドで済むのは楽です)
ただ、使った感じgemを入れようとしたら、関係するパッケージがないとかでインストールできないケースがありましたので、下記もついでに調査しました

asdfについて調査

プラグインスタイルの 〇〇env ツール。
nodejsやjava、Python などの開発ツールのバージョン管理が容易に行えるようになります。
これまで rubyenv や nvm、sdkman などばらばらに入れていた開発環境管理ツールを asdf で集約できるとのこと
今回はrubyに限定して利用します

必要パッケージのインストール

sudo apt-get update -y
sudo apt-get install -y git-core zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev

ダウンロードしてからの設定もろもろ

cd
git clone https://github.com/excid3/asdf.git ~/.asdf
echo '. "$HOME/.asdf/asdf.sh"' >> ~/.bashrc
echo '. "$HOME/.asdf/completions/asdf.bash"' >> ~/.bashrc
echo 'legacy_version_file = yes' >> ~/.asdfrc
echo 'export EDITOR="code --wait"' >> ~/.bashrc
exec $SHELL

rubyのインストール

asdf plugin add ruby
asdf install ruby 3.2.2
asdf global ruby 3.2.2
gem update --system
ruby -v

さいごに

ただ単に自分が無知だっただけなのですが、世の中便利になるもんです。
rubyインストールの手段として知っておいて損はないと考えていますので、今回いい勉強になりました

(おまけ)asdfでnodejsインストール

asdf plugin-add nodejs
asdf install nodejs 20.4.0
asdf global nodejs 20.4.0
node -v

Discussion