Ubuntuにrbenvを導入しようとしてちょっと躓いた話

（備忘録、あとで修正・追記するかも）

以下の記事に従って、rbenvを導入しようとしたところ、ちょっと躓きました。。
[rbenv で ruby の環境を整える - Qiita](http://qiita.com/ringo/items/4351c6aee70ed6f346c8 "rbenv で ruby の環境を整える - Qiita")
一応解決済みです。
多分自分の環境に特有の問題なのだと思いますが、
誰かのためにメモを残しておきます。

自分のLinux環境
　Ubuntu 14.04.05 LTS
　（VMware Workstatin 12 Playerを使ってWindows10上で動かしている）

# build-essentialがインストールできない
[元記事](http://qiita.com/ringo/items/4351c6aee70ed6f346c8 "rbenv で ruby の環境を整える - Qiita")から引用

        git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
        git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
        apt-get install -y autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev

git clone は問題なし。
apt-get でエラーが出てインストールが止まりました。
メッセージを見ると

```
    The following packages have unmet dependencies:
     build-essential : Depends: dpkg-dev (>= 1.13.5) but it is not going to be installed
    E: Unable to correct problems, you have held broken packages.
```

とのこと。
それでは、と dpkg-devとやらを入れようとしたところ、今度は

```
$ sudo apt-get install dpkg-dev
The following packages have unmet dependencies:
 dpkg-dev : Depends: libdpkg-perl (= 1.17.5ubuntu5.6) but 1.17.5ubuntu5.7 is to be installed
            Recommends: build-essential but it is not going to be installed
            Recommends: fakeroot
            Recommends: libalgorithm-merge-perl but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
```

ということでインストールできませんでした。
perlのパッケージのダウングレードが必要ということでしょうか？
一筋縄では行かない気配を感じます。

# apt-get で直接 rbenvをインストール
[元記事](http://qiita.com/ringo/items/4351c6aee70ed6f346c8 "rbenv で ruby の環境を整える - Qiita")では「apt-getを使って rbenv をインストールすることもできる」
と書いてありましたので、そちらの方法をとることにしました。
その前に、gitで作った ~/.rbenv/ はバックアップを取っておきます。

```
~$ mv .rbenv/ dot_rbenv_backup/
```

apt-getによるrbenvのインストールは滞りなく済みました。

```
~$ sudo apt-get install rbenv
（略）
Setting up rbenv (0.4.0+debian1-2) ...
```

# すぐには動かなかったので微調整
rbenvのバージョンを確認しようとすると

```
$ rbenv -v
/usr/lib/rbenv/libexec/rbenv---version: line 17: cd: /home/USERNAME/.rbenv: No such file or directory
```

となりました
「aptって色々な依存関係とかを全部何とかしてくれるのでは？」
と首を捻りつつ、さきほどバックアップをとった　
~/dot_rbenv_backup/（git からクローンしてきたもの）
の名前を ~/.rbenv に戻して再度実行してみると

```
~$ mv dot_rbenv_backup/ .rbenv/
$ rbenv -v
rbenv 1.1.1-25-g6aa70b6
```

となりました。
このまま進んでいいのか不安になりつつも、
適当なバージョンのrubyのインストールをしてみます。

```
$ rbenv install -l | grep 2.4.2
  2.4.2
$ rbenv install 2.4.2
Downloading ruby-2.4.2.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.2.tar.bz2
Installing ruby-2.4.2...

BUILD FAILED (Ubuntu 14.04 using ruby-build 20170914-17-g331a408)

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

Last 10 log lines:
installing rdoc:              /home/USERNAME/.rbenv/versions/2.4.2/share/ri/2.4.0/system
installing capi-docs:         /home/USERNAME/.rbenv/versions/2.4.2/share/doc/ruby
The Ruby readline extension was not compiled.
ERROR: Ruby install aborted due to missing extensions
Try running `apt-get install -y libreadline-dev` to fetch missing dependencies.

Configure options used:
  --prefix=/home/USERNAME/.rbenv/versions/2.4.2
  LDFLAGS=-L/home/USERNAME/.rbenv/versions/2.4.2/lib 
  CPPFLAGS=-I/home/USERNAME/.rbenv/versions/2.4.2/include 
```

「libreadline-devというのを入れてみなさい」と書いてありますので、
指示に従ってから再び ruby のインストールに挑戦します。

```
$ sudo apt-get install -y libreadline-dev
（略）
Setting up libreadline-dev:amd64 (6.3-4ubuntu2) ...

$ rbenv install 2.4.2
Downloading ruby-2.4.2.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.2.tar.bz2
Installing ruby-2.4.2...
Installed ruby-2.4.2 to /home/USERNAME/.rbenv/versions/2.4.2

```

今度はインストールできました。
この後、$ which ruby などを確認してパスが通ってないことに気づき、
[元記事](http://qiita.com/ringo/items/4351c6aee70ed6f346c8 "rbenv で ruby の環境を整える - Qiita")に従って .bashrc を書き換えたところ、
rbenv local なども使うことができました。


#あとがき

とりあえず何とか使えるようになりました。
今後安定して動作するのか心配ですが、
不具合があれば追記などで報告します。