環境
- OS:AlmaLinux8.9
# cat /etc/almalinux-release
AlmaLinux release 8.9 (Midnight Oncilla)
Rubyのインストール
今回はdnfモジュール
からインストールする方法と、rbenv
を利用してインストールする方法の2つを紹介します。
dnfモジュールからインストール
インストール可能なRubyのバージョンを確認
dnf module list <パッケージ名>
でdnfのモジュールリストからインストール可能なパッケージを探します。
今回の場合ruby2.5
~ruby3.1
が利用でき、デフォルトでruby2.5
がインストールされる設定なっています。
# dnf module list ruby
AlmaLinux 8 - BaseOS 4.3 kB/s | 3.8 kB 00:00
AlmaLinux 8 - BaseOS 3.5 MB/s | 8.3 MB 00:02
AlmaLinux 8 - AppStream 6.0 kB/s | 4.2 kB 00:00
AlmaLinux 8 - AppStream 3.4 MB/s | 13 MB 00:03
AlmaLinux 8 - Extras 6.2 kB/s | 3.8 kB 00:00
AlmaLinux 8 - Extras 30 kB/s | 21 kB 00:00
AlmaLinux 8 - AppStream
Name Stream Profiles Summary
ruby 2.5 [d] common [d] An interpreter of object-oriented scripting language
ruby 2.6 common [d] An interpreter of object-oriented scripting language
ruby 2.7 common [d] An interpreter of object-oriented scripting language
ruby 3.0 common [d] An interpreter of object-oriented scripting language
ruby 3.1 common [d] An interpreter of object-oriented scripting language
ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled
インストールしたいバージョンの有効化
今回はruby3.0
を有効化してインストールしてみます。
# dnf module enable ruby:3.0
メタデータの期限切れの最終確認: 0:00:20 前の 2024年04月22日 11時24分46秒 に実施しました。
依存関係が解決しました。
===========================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
===========================================================================================
モジュールストリームの有効化中:
ruby 3.0
トランザクションの概要
===========================================================================================
これでよろしいですか? [y/N]: y
完了しました!
有効化設定後、再度モジュールリストを確認するとenable
の記号が追加され有効化されていることがわかります。
# dnf module list ruby
メタデータの期限切れの最終確認: 0:00:38 前の 2024年04月22日 11時24分46秒 に実施しました。
AlmaLinux 8 - AppStream
Name Stream Profiles Summary
ruby 2.5 [d] common [d] An interpreter of object-oriented scripting language
ruby 2.6 common [d] An interpreter of object-oriented scripting language
ruby 2.7 common [d] An interpreter of object-oriented scripting language
ruby 3.0 [e] common [d] An interpreter of object-oriented scripting language
ruby 3.1 common [d] An interpreter of object-oriented scripting language
ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled
Rubyをインストール
最後にdnf install <パッケージ名>
のコマンドでRubyをインストールします。
# dnf install ruby
メタデータの期限切れの最終確認: 0:00:56 前の 2024年04月22日 11時24分46秒 に実施しました。
依存関係が解決しました。
===========================================================================================
パッケージ Arch バージョン Repo サイズ
===========================================================================================
インストール:
ruby x86_64 3.0.4-141.module_el8.6.0+3263+41cde0c0 appstream 88 k
依存関係のインストール:
ruby-libs x86_64 3.0.4-141.module_el8.6.0+3263+41cde0c0 appstream 3.2 M
rubygem-json x86_64 2.5.1-141.module_el8.6.0+3263+41cde0c0 appstream 100 k
rubygem-psych x86_64 3.3.2-141.module_el8.6.0+3263+41cde0c0 appstream 98 k
弱い依存関係のインストール:
ruby-default-gems noarch 3.0.4-141.module_el8.6.0+3263+41cde0c0 appstream 80 k
rubygem-bigdecimal x86_64 3.0.0-141.module_el8.6.0+3263+41cde0c0 appstream 101 k
rubygem-bundler noarch 2.2.33-141.module_el8.6.0+3263+41cde0c0 appstream 449 k
rubygem-io-console x86_64 0.5.7-141.module_el8.6.0+3263+41cde0c0 appstream 72 k
rubygem-rdoc noarch 6.3.3-141.module_el8.6.0+3263+41cde0c0 appstream 459 k
rubygems noarch 3.2.33-141.module_el8.6.0+3263+41cde0c0 appstream 327 k
トランザクションの概要
===========================================================================================
インストール 10 パッケージ
(省略)
指定したバージョンのRubyがインストールされました。
# ruby -v
ruby 3.0.4p208 (2022-04-12 revision 3fa771dded) [x86_64-linux]
rbenvを利用してインストール
続いて、rbenv
を利用してRubyをAlmaLinuxにインストールする方法を解説します。
rbenvとは
rbenv
はRubyのバージョン管理ツールの一つです。
1つのマシン上で複数のRubyのバージョンを扱えます。
rbenvのインストール
ますは、リポジトリからクローンしてきます。
# git clone https://github.com/rbenv/rbenv.git ~/.rbenv
次にrbenv
のパスを通します。
# echo 'eval "$(~/.rbenv/bin/rbenv init - bash)"' >> ~/.bash_profile
再起動、またはsource
コマンドで変更を反映させます。
# source ~/.bash_profile
バージョンを確認し、インストールできたことがわかります。
# rbenv --version
rbenv 1.2.0-87-ge8b7a27
インストール後、rbenv init
コマンドで初期設定を行います。
[root@localhost ~]# rbenv init
# Please add the following line to your `~/.bash_profile' file,
# then restart your terminal.
eval "$(rbenv init - bash)"
出力されたコマンドを実行します。
# eval "$(rbenv init - bash)"
実行後、ターミナル ウィンドウを閉じて新しいウィンドウを開き、変更を有効にします。
ruby-buildのインストール
ruby-build
をインストールすることでrbenv install
コマンドが使えるようになり、Rubyを楽にインストールできるようになります。
リポジトリからクローンしてきます。
# git clone https://github.com/rbenv/ruby-build.git ./.rbenv/plugins/ruby-build
Rubyをインストール
下記サイトを参考に、必要なパッケージを各種インストールします。
dnf install -y autoconf gcc patch bzip2 openssl-devel libyaml-devel libffi-devel readline-devel zlib-devel gdbm-devel ncurses-devel tar
今回の環境では、上記のパッケージに加え、gcc-c++
をインストールする必要がありました。
また、libyaml-devel
パッケージに関しては下記コマンドを実行することでインストールできました。
sudo dnf --enablerepo=powertools install libyaml-devel
インストールが必要なパッケージはお使いの環境ごとに代わるので、都度必要なものをインストールする必要があります。
rbenv install --list
コマンドでインストール可能なバージョンを表示できます。
# rbenv install --list
3.0.7
3.1.5
3.2.4
3.3.1
jruby-9.4.6.0
mruby-3.3.0
picoruby-3.0.0
truffleruby-24.0.1
truffleruby+graalvm-24.0.1
Only latest stable releases for each Ruby implementation are shown.
Use `rbenv install --list-all' to show all local versions.
rbenv install -l
コマンドでlatest stableバージョンを表示できます。
また、rbenv install -L
コマンドでローカルの全てのバージョンを表示できます。
rbenv install <ruby version>
コマンドで指定したバージョンのRubyをインストールできます。
今回はruby3.0.7
をインストールします。
# rbenv install 3.0.7
==> Downloading ruby-3.0.7.tar.gz...
-> curl -q -fL -o ruby-3.0.7.tar.gz https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.7.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 20.2M 100 20.2M 0 0 7449k 0 0:00:02 0:00:02 --:--:-- 7447k
==> Installing ruby-3.0.7...
-> ./configure "--prefix=$HOME/.rbenv/versions/3.0.7" --enable-shared --with-ext=openssl,psych,+
-> make -j 1
-> make install
==> Installed ruby-3.0.7 to /root/.rbenv/versions/3.0.7
NOTE: to activate this Ruby version as the new default, run: rbenv global 3.0.7
Installed ~
の文字列が表示されたインストール成功です。
インストールできない場合は、Build FAILED
の文字列と共に、ログファイルのパスが出力されるので、ログと下記サイトを参考にエラーを解消してください。
# rbenv install 3.0.7
==> Downloading ruby-3.0.7.tar.gz...
-> curl -q -fL -o ruby-3.0.7.tar.gz https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.7.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 20.2M 100 20.2M 0 0 7303k 0 0:00:02 0:00:02 --:--:-- 7300k
==> Installing ruby-3.0.7...
-> ./configure "--prefix=$HOME/.rbenv/versions/3.0.7" --enable-shared --with-ext=openssl,psych,+
BUILD FAILED (AlmaLinux 8.9 on x86_64 using ruby-build 20240423)
You can inspect the build directory at /tmp/ruby-build.20240424115716.108349.vxYFve
See the full build log at /tmp/ruby-build.20240424115716.108349.log
インストール完了後、rbenv global <ruby versoin>
またはrbenv local <ruby version>
コマンドで使用するRubyのバージョンを設定します。
# マシンのデフォルトの Ruby バージョンを設定します
rbenv global 3.0.1
# or
# ディレクトリの Ruby バージョンを設定します
rbenv local 3.0.1
最後にruby -v
コマンドでRubyのバージョンを表示してインストール出来たことを確認します。
# ruby -v
ruby 3.0.7p220 (2024-04-23 revision 724a071175) [x86_64-linux]