rbenv を用いて Ruby をインストール
Ruby の最新版が必要になり調べていたところ、Ruby 環境を管理する rbenv を知ったのでインストールした。
実行環境
ソフト | バージョン |
---|---|
OS | Windows 11 Home 23H2 22631.2861 |
WSL | 2.0.9.0 |
Linux | Arch Linux |
rbenv | 1.2.0 |
Ruby | 3.3.0 |
作業の流れ
- rbenv のインストール
- Ruby のインストール
- プロジェクトのセットアップ
rbenv のインストール
GitHub の README に従う。自分は Arch Linux を使っているので以下の通り
AUR パッケージから rbenv をダウンロード・インストール
AUR ヘルパーからインストールする場合
例えば
$ yay -S rbenv
makepkg を利用する場合
AUR のサイト で Git の URL を入手。上の方の Git Clone URL
がそれ。クローンする:
$ git clone https://aur.archlinux.org/rbenv.git
インストール:
$ cd rbenv
$ makepkg -sirc
参考文献:Arch User Repository
rbenv の初期作業
次のコマンドを実行して表示される指示に従う:
$ rbenv init
ruby-build のインストール
rbenv のプラグインである ruby-build もインストールする。
まずは Suggested build environment にある requirement を満たしておく。そしてインストール:
$ git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
Ruby のインストール
Ruby
ruby-build をインストールすることで rbenv install
が使えるようになる。
安定版のリストを確認:
$ rbenv install -l
ヴァージョンを選んでインストール(例えば 3.3.0):
$ rbenv install 3.3.0
使用する Ruby のヴァージョンを選択しておく。
$ rbenv local 3.3.0 # プロジェクトのディレクトリで実行すると、そのプロジェクトにのみ適用
# もしくは
$ rbenv global 3.3.0 # デフォルトを設定
Bundler
パッケージ管理を行う Bundler をインストールする:
$ rbenv exec gem install bundler
$ rbenv exec bundle --version
プロジェクトのセットアップ
システムに Bundler がインストールされていない場合は bundle
コマンドに rbenv exec
を付ける必要はないらしい。
$ rbenv exec bundle init
# システムに Bundler がインストールされて「いない」場合は下でも可:
$ bundle init
Gemfile が生成されるので、必要なパッケージを書いてインストール。まずはインストール場所を指定しておく(一度だけ実行すればよい):
# gem はこのプロジェクトのみにインストール。vendor/bundle ディレクトリが生成される
$ rbenv exec bundle config set path 'vendor/bundle'
gem をインストールする:
$ rbenv exec bundle install
ネットでは rbenv exec bundle install --path=vendor/bundle
コマンドが紹介されていた。しかし、これを実行すると上の通りに改めよと警告される。将来的に --path
フラグは使えなくなるようだ。
rbenv のアップデート
AUR ヘルパーを使えば気にする必要はない。Git からクローンして makepkg でインストールした場合の rbenv のアップデート方法についてもまとめる。
- rbenv 自体は rbenv の レポジトリを pull し、再度インストールすればよい:
$ cd /path/to/rbenv $ git pull $ makepkg -sirc
- ruby-build:
$ git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build