やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

rbenvとruby-buildとRuby2.4.0をインストールする

前回のつづき。

開発環境

インストール状況の確認

$ ruby --version
プログラム 'ruby' は以下のパッケージで見つかりました:
 * ruby
 * ruby1.8
次の操作を試してください: sudo apt-get install <選択したパッケージ>

f:id:ytyaru:20170225142618g:plain
f:id:ytyaru:20170225142627g:plain
f:id:ytyaru:20170225142647g:plain
f:id:ytyaru:20170225142702g:plain

事前準備

rbenvとruby-buildとRuby2.4.0をインストールする - やってみる

工程

過去ログを参考

rbenvに必要なディレクトリを用意した - やってみる
gitからruby-buildをインストールし直す - やってみる
ついにrbenvでRubyインストールできた - やってみる

rbenvをインストール

Synapticでインストールできた。

rbenvで検索してインストールすればOK。

ディレクトリ作成

  1. /home/{user}/ディレクトリ配下に.rbenv/ディレクトリを作成する

.bash作成

  1. /home/{user}/ディレクトリ配下に.bashディレクトリを作成する
  2. /home/{user}/.bashディレクトリ配下に.bashrcファイルを作成する
  3. 4のファイルに以下を記述する
[[ -d ~/.rbenv  ]] && \
  export PATH=${HOME}/.rbenv/bin:${PATH} && \
  eval "$(rbenv init -)"

これが役に立っているのかよくわからない。

ruby-buildインストール

  1. /home/mint/.rbenvディレクトリ配下にpluginsディレクトリを作成する
  2. pluginsディレクトリへ移動し、以下のようにruby-buildをダウンロードする
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
Cloning into '/home/mint/.rbenv/plugins/ruby-build'...
remote: Counting objects: 7400, done.
remote: Total 7400 (delta 0), reused 0 (delta 0), pack-reused 7400
Receiving objects: 100% (7400/7400), 1.45 MiB | 456.00 KiB/s, done.
Resolving deltas: 100% (4487/4487), done.
Checking connectivity... done.

これで最新のバージョンリストを取得できる。

Ruby2.4.0インストール

rbenvで2.4.0のRubyをインストールする。応答に30分はかかったかもしれない。

$ rbenv install 2.4.0
Installing ruby-2.4.0...

BUILD FAILED (LinuxMint 17.3 using ruby-build 20170201-7-g5d62e84)

Inspect or clean up the working tree at /tmp/ruby-build.20170225155854.2445
Results logged to /tmp/ruby-build.20170225155854.2445.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/mint/.rbenv/versions/2.4.0
  LDFLAGS=-L/home/mint/.rbenv/versions/2.4.0/lib 
  CPPFLAGS=-I/home/mint/.rbenv/versions/2.4.0/include 

エラー。以下の部分からsudo apt-get install -y libssl-dev libreadline-dev zlib1g-devを実行すればいいと思われる。

ERROR: Ruby install aborted due to missing extensions
Try running `apt-get install -y libssl-dev libreadline-dev zlib1g-dev` to fetch missing dependencies.

インストールできた。かなり時間がかかった。

$ rbenv install 2.4.0
rbenv: /home/mint/.rbenv/versions/2.4.0 already exists
continue with installation? (y/N) y
Installing ruby-2.4.0...
Installed ruby-2.4.0 to /home/mint/.rbenv/versions/2.4.0

メモリ1GBでスワップなしだと途中でフリーズしてしまった。強制終了&再起動したあと、ターミナル以外一切起動せずに行った。

バージョン指定

$ rbenv version
system (set by /home/mint/.rbenv/version)
$ rbenv versions
* system (set by /home/mint/.rbenv/version)
  2.4.0
$ rbenv global 2.4.0
$ rbenv versions
  system
* 2.4.0 (set by /home/mint/.rbenv/version)
$ ruby --version
ruby 1.9.3p484 (2013-11-22 revision 43786) [i686-linux]

rubyコマンドだと1.9.3になってしまう。

$ echo $RBENV_VERSION

$ export RBENV_VERSION=2.4.0
$ echo $RBENV_VERSION
2.4.0

環境変数を設定してもダメ。

.bash_profile

  1. /home/.bash_profileファイルを作成する
  2. eval "$(rbenv init -)"と空行を入れて保存する
  3. ターミナルを再起動して以下コマンドを確認。

2.4.0になった

  1. ターミナル起動
  2. source ~/.bash_profileを実行する
  3. ruby -vを実行する
  4. 2.4.0がでるはず

ターミナルを起動するたびに毎回source ~/.bash_profileを実行する必要がある。

所感

長かった。Ruby2.4.0環境構築がついに終わった。