0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Ruby環境構築】AlmaLinuxでRubyのバージョンを指定してインストールする

Posted at

環境

  • OS:AlmaLinux8.9
# cat /etc/almalinux-release
AlmaLinux release 8.9 (Midnight Oncilla)

Rubyのインストール

今回はdnfモジュールからインストールする方法と、rbenvを利用してインストールする方法の2つを紹介します。

dnfモジュールからインストール

インストール可能なRubyのバージョンを確認

dnf module list <パッケージ名>でdnfのモジュールリストからインストール可能なパッケージを探します。

今回の場合ruby2.5ruby3.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]
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?