ruby: rbenvのインストール方法と使い方 for Ubuntu

Ubuntuでの rbenv のインストール方法と使い方について。
rbenv は Pythonで言うところの pyenv と同じような機能を提供している。つまり、 ruby のバージョン管理を行うことができる。

実行環境は Ubuntu 20.04。

インストール

インストールは通常のアプリケーションと同じく apt によっても可能なのだが、公式リポジトリで “out of date” とか書いているのであんまり推奨していないのかもしれない。

なのでここでは git リポジトリからインストールする方法を記載する。

リポジトリのクローン

まずクローン。 git がない場合には sudo apt install git で入れる。

git clone https://github.com/rbenv/rbenv.git ~/.rbenv

以下のコマンドはbash向け拡張機能であり必須ではないが、あった方がよさそうなのでやっておく

cd ~/.rbenv && src/configure && make -C src

PATHの設定

PATHを設定する。
Ubuntuであれば bash を利用していると思うので、以下を設定する。
UbuntuをGUIから利用している場合には最後の ~/.bash_profile~/.bashrc にするようだ。

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile

注意事項

公式手順通りに、上記の通り ~/.bash_profile に書き込んでみたのだが、SSH接続した際にターミナルに色がつかなくなってしまった。
調べてみたところ、Ubuntuは .bash_profile の代わりに .profile を準備しており、そちらを読むようになっているのだが、 .bash_profile を自力で作成してしまうとそちらを読むようになってしまい、起動時に .bashrc を読む動作がスキップされてしまうようだ。

そのため、私は実際には .profile の中に上記のコマンドを記述した。

初期設定

初期設定を実施。以下のコマンドを実施。
出力された内容に従う。

~/.rbenv/bin/rbenv init

ちなみに自分の環境では rbenv init により以下の内容が出力される。

> rbenv init
# Load rbenv automatically by appending
# the following to ~/.bash_profile:

eval "$(rbenv init - bash)"

インストラクション通り、この最後の eval の行を ~/.bash_profile に書き込む。しつこいが、GUIを利用している場合にはおそらく ~/.bashrc に書き込むようなインストラクションが出るはずなので注意。

シェル再起動

シェルを再起動する。SSHでリモートに接続している場合は一度切断し、再度接続する。

チェックを実施

rbenv-doctor という rbenv のインストール状況をチェックするスクリプトが提供されているので、実行してみる。

curl -fsSL https://github.com/rbenv/rbenv-installer/raw/main/bin/rbenv-doctor | bash

自分の環境では以下の出力

Checking for `rbenv' in PATH: /home/ubuntu/.rbenv/bin/rbenv
Checking for rbenv shims in PATH: OK
Checking `rbenv install' support: not found ★
Unless you plan to add Ruby versions manually, you should install ruby-build.
Please refer to https://github.com/rbenv/ruby-build#installation

Counting installed Ruby versions: none
  There aren't any Ruby versions installed under `/home/ubuntu/.rbenv/versions'.
  You can install Ruby versions like so: rbenv install <version>
Checking RubyGems settings: OK
Auditing installed plugins: OK

自分の環境では ★ を付けたところが “not found” となっていた。 これでは rbenv を利用して任意のバージョンの ruby をインストールできないため、意味があまりなくなってしまう。

ruby-build のインストール

公式サイトの説明に従い、以下のコマンドにより ruby-buildrbenv のpluginとしてインストールする。

mkdir -p "$(rbenv root)"/plugins
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build

これで再度 rbenv-doctor を実行する

curl -fsSL https://github.com/rbenv/rbenv-installer/raw/main/bin/rbenv-doctor | bash

以下のような出力が実施される。きちんと rbenv install が supportになっている。

Checking for `rbenv' in PATH: /home/ubuntu/.rbenv/bin/rbenv
Checking for rbenv shims in PATH: OK
Checking `rbenv install' support: /home/ubuntu/.rbenv/plugins/ruby-build/bin/rbenv-install (ruby-build 20220726)
Counting installed Ruby versions: none
  There aren't any Ruby versions installed under `/home/ubuntu/.rbenv/versions'.
  You can install Ruby versions like so: rbenv install 3.1.2
Checking RubyGems settings: OK
Auditing installed plugins: OK

rbenv を利用して ruby を入れよう

ビルドに zlibopenssl が必要なので、入っていない場合には入れて置く。自分は必要だった。

sudo apt install libz-dev libssl-dev

Install可能な安定バージョンをリスト表示。

rbenv install -l

一番最新の 3.1.2 をインストールする。 rbenv install の後にバージョン番号を入れればOK。

rbenv install 3.1.2

ソースコードからビルドを行うため、環境によってはかなり時間がかかります。気長に待ちましょう。

インストール完了後、インストールした 3.1.2 を現在のUserでログインした際にデフォルトで利用するように設定する。

rbenv global 3.1.2

そして、 ruby コマンドが実行できることを確認。

> ruby -v
ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-linux]

後は大抵の場合 bundler を利用するので入れてみたりする。

gem install bundler

超簡易的コマンドリファレンス

# 現在のUserのデフォルトを 3.1.2 にする
rbenv global 3.1.2
# 特定のディレクトリ以下で 3.1.2 をデフォルトにする
rbenv local 3.1.2
# インストールされているバージョンを一覧表示
rbnev versions
# 何かしらをインストールした時に行う
rbenv rehash
# 不要なバージョンを削除
rbenv uninstall 3.1.2 

コメント

このブログの人気の投稿

gnuplot: グラフの色を変更する

[Linux] rsyncで進捗を確認する

gnuplotで縦線を引きたい