rbenvを利用してUbuntuにRubyをインストールしてみた

スポンサーリンク
スポンサーリンク
rubyのインストールRuby
この記事は約15分で読めます。
スポンサーリンク
スポンサーリンク

Ubuntu DesktopにRubyをrbenvを利用してインストールしてみたので、この記事ではその際の手順について紹介します。

何度もエラーが発生したため時間がかかりましたが、最終的には正常にRubyをインストールすることができました。

スポンサーリンク
スポンサーリンク

環境について

  • Ubuntu Desktopのバージョン:18.10
  • インストールしたRubyのバージョン:2.5.3p105 (2018-10-18 revision 65156) [x86_64-linux]

 

rbenvのインストール

GithubでのREADMEを参考にして、rbenvのインストールを行いました。

はじめに、GitHubからrbenvをダウンロード(レポジトリをクローン)しました。

$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv

 

実行結果

anlovegeek@anlovegeek-VirtualBox:~$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
Cloning into '/home/anlovegeek/.rbenv'...
remote: Enumerating objects: 2744, done.
remote: Total 2744 (delta 0), reused 0 (delta 0), pack-reused 2744
Receiving objects: 100% (2744/2744), 515.63 KiB | 605.00 KiB/s, done.
Resolving deltas: 100% (1720/1720), done.

 

隠しフォルダー「.rbenv」が作成され、GitHubからダウンロードされたファイルが保存されていました。

rbenvのフォルダーが作成された

 

rbenvの高速化

rbenvの高速化のために、必要に応じて以下のコマンドを実行します。

GithubでのREADMEには、このコマンドの実行が失敗した場合でも、rbenvのインストールを行うことができると書かれていました。

$ cd ~/.rbenv && src/configure && make -C src

 

実行結果

anlovegeek@anlovegeek-VirtualBox:~$ cd ~/.rbenv && src/configure && make -C src
make: ディレクトリ '/home/anlovegeek/.rbenv/src' に入ります
gcc -fPIC -c -o realpath.o realpath.c
gcc -shared -Wl,-soname,../libexec/rbenv-realpath.dylib -o ../libexec/rbenv-realpath.dylib realpath.o 
make: ディレクトリ '/home/anlovegeek/.rbenv/src' から出ます

 

パスを設定する

以下のechoコマンドを実行して、パスの設定を行います。

$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc

 

実行結果

anlovegeek@anlovegeek-VirtualBox:~/.rbenv$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
anlovegeek@anlovegeek-VirtualBox:~/.rbenv$

 

rbenvのセットアップを行う

以下のコマンドを実行してrbenvのセットアップを行います。

$ ~/.rbenv/bin/rbenv init

 

実行結果

anlovegeek@anlovegeek-VirtualBox:~/.rbenv$ ~/.rbenv/bin/rbenv init
# Load rbenv automatically by appending
# the following to ~/.bashrc:

eval "$(rbenv init -)"

 

ファイルに必要事項を追記する

先ほどのコマンドの実行結果には、rbenvを自動的に読み込むために「eval “$(rbenv init -)”」をファイル「.bashrc」に追記するように書かれていました。

そのため、以下のechoコマンドを実行して追記しました。

$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc

 

echoコマンドを実行してからファイル「.bashrc」をエディター(Visual Studio Code)で開いてみたところ、最後の行に「eval “$(rbenv init -)”」が追記されていました。

bashrcに追記されていた

 

ターミナルを再起動する

Ubuntuのターミナル(端末)を再起動します。

そして、以下のcurlコマンドを実行し、rbenvのセットアップが正常に行われているか確認します。

$ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash

 

パスの設定などがチェックされます。

「rbenv install」コマンドについては、「Checking `rbenv install’ support: not found」と表示されました。

「ruby-build」をインストールしたほうが良いと書かれていたので、インストールしていきます。

実行結果

anlovegeek@anlovegeek-VirtualBox:~$ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash
Checking for `rbenv' in PATH: /home/anlovegeek/.rbenv/bin/rbenv
Checking for rbenv shims in PATH: OK
Checking `rbenv install' support: not found
Unless you plan to add Ruby versions manually, you should install ruby-build.
Please refer to https://github.com/rbenv/ruby-build#installation

Counting installed Ruby versions: none
There aren't any Ruby versions installed under `/home/anlovegeek/.rbenv/versions'.
You can install Ruby versions like so: rbenv install 2.2.4
Checking RubyGems settings: OK
Auditing installed plugins: OK

 

 

「Command ‘curl’ not found, but can be installed with:」などと表示されてcurlコマンドを実行できない場合は、curlをインストールする必要があります。

curlをインストールする方法については、こちらの記事「Ubuntuでcurlコマンドを使えるようにしてみた」にて紹介しています。
Ubuntuでcurlコマンドを使えるようにしてみた
この記事では、Ubuntu Desktopにcurlをインストールしてcurlコマンドを使えるようにする手順について紹介しています。 sudoコマンドを1つ実行するだけでcurlをインストールすることができたので、非常に簡単でした。 ...

 

ruby-buildのインストール

Rubyをインストールするために、ruby-buildをインストールします。

インストール方法については、ruby-buildのGitHubページのREADMEを参考にしました。

 

以下のコマンドを実行し、rbenvのプラグインとしてruby-buildをインストールします。

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

 

実行結果

anlovegeek@anlovegeek-VirtualBox:~$ mkdir -p "$(rbenv root)"/plugins
anlovegeek@anlovegeek-VirtualBox:~$ git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
Cloning into '/home/anlovegeek/.rbenv/plugins/ruby-build'...
remote: Enumerating objects: 274, done.
remote: Counting objects: 100% (274/274), done.
remote: Compressing objects: 100% (200/200), done.
remote: Total 9554 (delta 223), reused 99 (delta 68), pack-reused 9280
Receiving objects: 100% (9554/9554), 2.00 MiB | 1.24 MiB/s, done.
Resolving deltas: 100% (6254/6254), done.

 

Rubyをインストールする

rbenvとruby-buildのインストールが完了したので、次はRubyをインストールします。

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

以下のコマンドを実行すると、インストール可能なRubyのバージョンを確認することができます。

$ rbenv install --list

 

インストールすることができるRubyのバージョンの一覧が表示されます。

バージョンが非常に多いため、ここでは一部のみを掲載しています。
anlovegeek@anlovegeek-VirtualBox:~$ rbenv install --list
Available versions:
1.8.5-p52
1.8.5-p113
︙
2.5.2
2.5.3
2.6.0-dev
︙
truffleruby-1.0.0-rc7
truffleruby-1.0.0-rc8
truffleruby-1.0.0-rc9

 

今回は、2018年12月1日現在の安定版での最新バージョンである「Ruby 2.5.3」をインストールしました。

Rubyの現時点での最新バージョンは、Ruby公式サイトのダウンロードページで確認することができます。

 

Rubyをインストールする際には、「rbenv install (インストールしたいRubyのバージョン)」のように入力します。

$ rbenv install 2.5.3

 

Rubyのインストールが開始された

インストールの際には、CPUの使用率が100%になっていました。

また、Rubyのインストールが完了するまでは、進捗状況などはターミナルに表示されないので正常に行われているか心配でしたが、問題ありませんでした。

rubyインストール中のCPU使用率が高くなっていた

 

Rubyのインストールに失敗した

10分ほど経つと、処理が止まってCPUの使用率も低くなりました。

しかし、拡張機能が欠けているためにインストールが中止されたというエラーメッセージが表示されました。

anlovegeek@anlovegeek-VirtualBox:~$ rbenv install 2.5.3
Downloading ruby-2.5.3.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.3.tar.bz2
Installing ruby-2.5.3...

BUILD FAILED (Ubuntu 18.10 using ruby-build 20181106-14-g1ec9abd)

Inspect or clean up the working tree at /tmp/ruby-build.20181201161629.5549
Results logged to /tmp/ruby-build.20181201161629.5549.log

Last 10 log lines:
The Ruby openssl extension was not compiled.
The Ruby readline extension was not compiled.
The Ruby zlib extension was not compiled.
ERROR: Ruby install aborted due to missing extensions
Try running `apt-get install -y libssl-dev libreadline-dev zlib1g-dev` to fetch missing dependencies.

Configure options used:
--prefix=/home/anlovegeek/.rbenv/versions/2.5.3
LDFLAGS=-L/home/anlovegeek/.rbenv/versions/2.5.3/lib 
CPPFLAGS=-I/home/anlovegeek/.rbenv/versions/2.5.3/include

 

拡張機能をインストールする

先ほどのエラーメッセージでapt-getコマンド「apt-get install -y libssl-dev libreadline-dev zlib1g-dev」を実行することを提案されたので実行しましたが、権限がないというエラーメッセージが表示されました。

そのため、sudoコマンドを利用して以下のようにしてから実行しました。

$ sudo apt-get install -y libssl-dev libreadline-dev zlib1g-dev

 

パスワードの入力を求められたので入力すると、追加パッケージの新規インストールが行われました。

実行結果
anlovegeek@anlovegeek-VirtualBox:~$ sudo apt-get install -y libssl-dev libreadline-dev zlib1g-dev
[sudo] anlovegeek のパスワード: 
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています 
状態情報を読み取っています... 完了
︙
以下の追加パッケージがインストールされます:
libncurses-dev
提案パッケージ:
ncurses-doc readline-doc libssl-doc
以下のパッケージが新たにインストールされます:
libncurses-dev libreadline-dev libssl-dev zlib1g-dev
アップグレード: 0 個、新規インストール: 4 個、削除: 0 個、保留: 0 個。
2,210 kB のアーカイブを取得する必要があります。
この操作後に追加で 11.3 MB のディスク容量が消費されます。
取得:1 http://jp.archive.ubuntu.com/ubuntu cosmic/main amd64 libncurses-dev amd64 6.1+20180210-4ubuntu1 [333 kB]
取得:2 http://jp.archive.ubuntu.com/ubuntu cosmic/main amd64 libreadline-dev amd64 7.0-5 [133 kB]
取得:3 http://jp.archive.ubuntu.com/ubuntu cosmic/main amd64 libssl-dev amd64 1.1.1-1ubuntu2 [1,568 kB]
取得:4 http://jp.archive.ubuntu.com/ubuntu cosmic/main amd64 zlib1g-dev amd64 1:1.2.11.dfsg-0ubuntu2 [176 kB]
2,210 kB を 3秒 で取得しました (730 kB/s)
以前に未選択のパッケージ libncurses-dev:amd64 を選択しています。
(データベースを読み込んでいます ... 現在 162140 個のファイルとディレクトリがインストールされています。)
.../libncurses-dev_6.1+20180210-4ubuntu1_amd64.deb を展開する準備をしています ...
libncurses-dev:amd64 (6.1+20180210-4ubuntu1) を展開しています...
以前に未選択のパッケージ libreadline-dev:amd64 を選択しています。
.../libreadline-dev_7.0-5_amd64.deb を展開する準備をしています ...
︙
libreadline-dev:amd64 (7.0-5) を設定しています ...

Rubyのインストールに成功した

欠けていた拡張機能のインストールが完了したので、rubyをインストールするためにもう一度rbenvのinstallコマンド(rbenv install 2.5.3)を実行しました。

今回はエラーが発生せず、Rubyのインストールが成功しました。

実行結果

anlovegeek@anlovegeek-VirtualBox:~$ rbenv install 2.5.3
Downloading ruby-2.5.3.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.3.tar.bz2
Installing ruby-2.5.3...
Installed ruby-2.5.3 to /home/anlovegeek/.rbenv/versions/2.5.3
インストールされたrbenvのバージョンを確認してみました。
anlovegeek@anlovegeek-VirtualBox:~$ rbenv versions
2.5.3

 

利用するRubyのバージョンをセットする

rbenv global コマンドを実行し、利用するRubyのバージョンをセットします。

(「rbenv global (Rubyのバージョン)」のようにします。)

$ rbenv global 2.5.3

Rubyが正常にインストールされているか確認する

「ruby -v」コマンドを実行し、Rubyのバージョンを確認してみました。

インストールされているRubyのバージョンが表示されたので、正常にインストール、設定ができていることがわかりました。

これで、Ubuntu DesktopにRubyをインストールするためのすべての手順が完了しました。

anlovegeek@anlovegeek-VirtualBox:~$ ruby -v
ruby 2.5.3p105 (2018-10-18 revision 65156) [x86_64-linux]
タイトルとURLをコピーしました