はじめに
rubyのインストール方法を確立させるため、あれこれ試してみた。
手順
1.CentOSのSCLをインストールする
# yum install -y centos-release-scl
2.開発者向けツールをインストールする
# yum group install -y "Development Tools"
3.必要ライブラリをインストールする
# yum install -y zlib-devel
# yum install -y ImageMagick ImageMagick-devel
4.ruby2.5をインストールする
# yum install -y rh-ruby25 rh-ruby25-ruby-devel
5.ruby2.5のライブラリを共有ライブラリから読み込めるようにする
# echo '/opt/rh/rh-ruby25/root/usr/lib64' > /etc/ld.so.conf.d/rh-ruby.conf
# ldconfig
6.ruby2.5へのリンクを張る
# update-alternatives --display ruby
# update-alternatives --install /usr/bin/ruby ruby /opt/rh/rh-ruby25/root/bin/ruby 25 \
--slave /usr/bin/gem gem /opt/rh/rh-ruby25/root/bin/gem
# update-alternatives --display ruby
ruby -ステータスは自動です。
リンクは現在 /opt/rh/rh-ruby25/root/bin/ruby を指しています。
/opt/rh/rh-ruby25/root/bin/ruby - 優先度 25
スレーブ gem: /opt/rh/rh-ruby25/root/bin/gem
現在の「最適」バージョンは /opt/rh/rh-ruby25/root/bin/ruby です。
7.rubyのバージョンを確認する
# ruby -v
ruby 2.5.5p157 (2019-03-15 revision 67260) [x86_64-linux]
トラブルシューティング
共有ライブラリエラーが表示される
# ruby- v
ruby: error while loading shared libraries: libruby.so.2.5: cannot open shared object file: No such file or directory
原因
共有ライブラリにruby実行ファイルのライブラリが認識されていない。
対処
# echo '/opt/rh/rh-ruby25/root/usr/lib64' > /etc/ld.so.conf.d/rh-ruby.conf
# ldconfig
そのほか
SCL(Software CoLlectioin)
RedHat社が提供するCentOS向けのパッケージ。yumと競合しない使い方ができるらしい。