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-build
を rbenv
の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
を入れよう
ビルドに zlib
と openssl
が必要なので、入っていない場合には入れて置く。自分は必要だった。
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
コメント
コメントを投稿