「Ruby」の版間の差分

提供:senooken JP Wiki
(Install)
 
31行目: 31行目:
exec
exec


rbenv exec gem installのように使う。rbenvで適用済みのrubyの該当コマンドを使うらしい。
rbenv exec gem installのように使う。rbenvで適用済みのrubyの該当コマンドを使うらしい。普通使う必要はない。なぜならば、rbenvの設定で、デフォルトでrbenvの環境が優先されるから。


=== ruby-build ===
=== ruby-build ===

2024年12月19日 (木) 18:12時点における最新版

tool

rbenv

rbenv/rbenv: Manage your app's Ruby environment

rubyのnpm相当。

ruby-buildプラグインとセットで使って、任意のバージョンのrubyをインストールして、該当するモジュール類をインストールできる。

# list latest stable versions:
rbenv install -l

# list all local versions:
rbenv install -L

# list all installed Ruby versions
rbenv versions
rbenv version # current version

# install a Ruby version:
rbenv install 3.1.2
rbenv local 3.1.2    # set the Ruby version for this directory

# uninstall
rbenv uninstall <version>

rbenv installで指定したバージョンをインストールして、rbenvで現在ディレクトリーのrubyのバージョンを変更する。

rbenv localは.ruby-versionにバージョン番号を出力するだけで、rbenvはこのファイルのバージョンを見ている。

そのほかのコマンド。

exec

rbenv exec gem installのように使う。rbenvで適用済みのrubyの該当コマンドを使うらしい。普通使う必要はない。なぜならば、rbenvの設定で、デフォルトでrbenvの環境が優先されるから。

ruby-build

About

rbenv/ruby-build: A tool to download, compile, and install Ruby on Unix-like systems.

ruby-build | rbenv日本語リファレンス | Ruby STUDIO

rubyをソースコードからビルドするためのツール。rbenvのプラグインとして利用可能。

基本はrbenvのプラグインとして使うが、単独版もある。プラグインとして使う場合は、rbenv installのinstallのサブコマンドがruby-buildのこと。

RUBY_CONFIGURE_OPTS 環境変数。rubyのビルド時の./configureに指定するオプション。

rbenv install --versionでruby-build自体のバージョン表示になる。

-vでビルド時のログが出る。

Install

rbenv/ruby-build: A tool to download, compile, and install Ruby on Unix-like systems.

rbenvのプラグインとして使う場合、以下のコマンドでインストールする。

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

rbenv installの仕組み

ruby 実行環境の構築 - rbenvの使い方とその仕組み | 割り箸ポテチ

ビルド定義ファイル (build definition file) があり、それに基づいてruby-buildは必要なファイルをダウンロードしてビルドする。

以下のディレクトリーな度に格納されている。

~/.rbenv/plugins/ruby-build/share/ruby-build/
/usr/share/ruby-build/1.9.3-p551

1.8.6-p383のようなバージョン番号のファイル名で格納されている。

ビルド定義ファイルの中身は以下のような感じ。

https://github.com/rbenv/ruby-build/blob/master/share/ruby-build/3.3.6

install_package "openssl-3.0.15" "https://github.com/openssl/openssl/releases/download/openssl-3.0.15/openssl-3.0.15.tar.gz#23c666d0edf20f14249b3d8f0368acaee9ab585b09e1de82107c66e1f3ec9533" openssl --if needs_openssl:1.0.2-3.x.x
install_package "ruby-3.3.6" "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.6.tar.gz#8dc48fffaf270f86f1019053f28e51e4da4cce32a36760a0603a9aee67d7fd8d" enable_shared standard

rubyとopensslのtgzのURLとハッシュの記載となっている。

openssl --if needs_openssl:1.0.2-3.x.xとなっているように、OSに該当バージョンがなくて、必要な場合に自動インストールするようになっている (M1 MacでRuby 2.4〜3.2をrbenvでビルドする最小限のセットアップを全部調べた|TechRacho by BPS株式会社)。

なお、このビルド定義ファイルは、2022-07-10に大幅な変更があった (Install openssl 1 when openssl is 3 · rbenv/ruby-build@fb0e82c)。

それまで、opensslのインストールはmacくらいだったが、OSの標準opensslが3になってきたので、mac以外もインストールするようになった。

これがあるので、aptなどのOSのruby-buildではなく、最新のruby-buildをインストールした方がいい。