結論から言えば、Ubuntu 22.04系は普通にやったのではRuby 2.7はインストールできません。
なぜならRuby 2.7が必要とするOpenssl1.1.1系をUbuntu 22.04系がサポートしていないからです。
そんな中で、どうしてもこのバージョンを入れたいというケースがあったので対応を行いました。
手順
参考
https://github.com/rbenv/ruby-build/discussions/1940#discussioncomment-2663209
依存関係をインストールします。
sudo apt install git build-essential checkinstall zlib1g-dev
rbenvをインストールします。
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
rbenvのパスを通します。
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc
ruby-buildをインストールします。
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
OpenSSL 1.1.1をインストールします。
cd ~/Downloads
wget https://www.openssl.org/source/openssl-1.1.1q.tar.gz
tar xf openssl-1.1.1q.tar.gz
cd ~/Downloads/openssl-1.1.1q
./config --prefix=/opt/openssl-1.1.1q --openssldir=/opt/openssl-1.1.1q shared zlib
make
make test
sudo make install
シンボリックリンクを張り替えます。
sudo rm -rf /opt/openssl-1.1.1q/certs
sudo ln -s /etc/ssl/certs /opt/openssl-1.1.1q
ruby 2.7系をインストールします。
RUBY_CONFIGURE_OPTS=--with-openssl-dir=/opt/openssl-1.1.1q
RUBY_CONFIGURE_OPTS=--with-openssl-dir=/opt/openssl-1.1.1q rbenv install 2.7.6
rbenv global 2.7.6
インストールされていることを確認します。
ruby -v
ruby 2.7.6p219 (2022-04-12 revision c9c2245c0a) [x86_64-linux]
rootが参照できるようにパスを通します。
which ruby
# /home/user1/.rbenv/shims
# 結果を控えておきます
sudo su -
# ↓以下、rootでの作業↓
echo "export PATH=$PATH:/home/user1/.rbenv/shims" >> ~/.bashrc
source ~/.bashrc
which ruby
# /home/user1/.rbenv/shims
# 控えておいたパスであることを確認します
ruby -v
# ruby 2.7.6p219 (2022-04-12 revision c9c2245c0a) [x86_64-linux]
# 2.7系であることを確認します
と、ここまで書きましたがきっとDockerなどのコンテナを使ったほうが楽かと思います。
コメントを残す