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
実行結果
[email protected]:~$ 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の高速化のために、必要に応じて以下のコマンドを実行します。
GithubでのREADMEには、このコマンドの実行が失敗した場合でも、rbenvのインストールを行うことができると書かれていました。
$ cd ~/.rbenv && src/configure && make -C src
実行結果
[email protected]:~$ 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
実行結果
[email protected]:~/.rbenv$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc [email protected]:~/.rbenv$
rbenvのセットアップを行う
以下のコマンドを実行してrbenvのセットアップを行います。
$ ~/.rbenv/bin/rbenv init
実行結果
[email protected]:~/.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 -)”」が追記されていました。
ターミナルを再起動する
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」をインストールしたほうが良いと書かれていたので、インストールしていきます。
実行結果
[email protected]:~$ 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をインストールする必要があります。

ruby-buildのインストール
Rubyをインストールするために、ruby-buildをインストールします。
以下のコマンドを実行し、rbenvのプラグインとしてruby-buildをインストールします。
$ mkdir -p "$(rbenv root)"/plugins
$ git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
実行結果
[email protected]:~$ mkdir -p "$(rbenv root)"/plugins [email protected]:~$ 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のバージョンの一覧が表示されます。
[email protected]:~$ 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をインストールする際には、「rbenv install (インストールしたいRubyのバージョン)」のように入力します。
$ rbenv install 2.5.3
Rubyのインストールが開始された
インストールの際には、CPUの使用率が100%になっていました。
また、Rubyのインストールが完了するまでは、進捗状況などはターミナルに表示されないので正常に行われているか心配でしたが、問題ありませんでした。
Rubyのインストールに失敗した
10分ほど経つと、処理が止まってCPUの使用率も低くなりました。
しかし、拡張機能が欠けているためにインストールが中止されたというエラーメッセージが表示されました。
[email protected]:~$ 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
パスワードの入力を求められたので入力すると、追加パッケージの新規インストールが行われました。
[email protected]:~$ 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のインストールが成功しました。
実行結果
[email protected]:~$ 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
[email protected]:~$ 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をインストールするためのすべての手順が完了しました。
[email protected]:~$ ruby -v ruby 2.5.3p105 (2018-10-18 revision 65156) [x86_64-linux]