chromebook(c101pa)にrubyをインストール

# はじめに
最近rubyを使う機会が増えたため、そろそろchromebookのローカル環境でも使えるようにしたいと考え、rubyとのインストールをやってみました。
（以前から、python, gitは使用していましたが、こちらはchromebookのlinux機能をオンにすることで標準で利用できていました）

# 実施環境
- chromebook c101pa
- Chrome OS 80.0.3987.158 （2020/4/1時点の最新版）
- linux(ベータ版) debian 10.3

# やってみたこと、わかったことの概要
- rubyのインストールにはaptコマンドではなく、rbenvを使って実施。
- rbenvからrubyをインストールするには、事前にインストールが必要なパッケージがある(など)
- macや純粋なlinuxに比べてchromebookへのインストールは少し手順が複雑（文献も少ない）

# 手順

## rbenvのインストール
rbenvをgithubからインストール

```
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
```
rbenvの設定を実施

```
# 「~/.rbenv/bin」を環境変数に追加するための記述を「~/.bashrc」に追記
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc

# rbenvを初期化する記述を「~/.bashrc」に追記
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc

# ~/.bashrcを読み込み
$ source ~/.bashrc

# path設定の確認
$ env | grep -i path
PATH=/home/xxxxxxxx/.rbenv/shims:/home/xxxxxxxx/.rbenv/bin:　~以降略
```
上記の手順でrbenvのインストールされたはずなので、確認します。

```
$ rbenv -v
rbenv 1.1.2-28-gc2cfbd1
```

## ruby-buildのインストール
rbenvを実行させるために必要なプラグイン「ruby-build」をインストールします。


```
$ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
```

ruby-buildの設定

```
# 「ruby-build/bin」を環境変数に追加するための記述を「~/.bashrc」に追記
$ echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
```
完了したら、インストールできるバージョンの確認(最新の５つのバージョンのみ表示）

```
$ rbenv install --list | grep -v - | tail -5
2.6.4
2.6.5
2.6.6
2.7.0
2.7.1
```


## rubyのインストール
今回は2.6.xの最新バージョンである、2.6.6をインストールすることとします。が、、

```
$ rbenv install -v 2.6.6
/tmp/ruby-build.20200401132705.1971.uWv7bJ ~
Downloading ruby-2.6.6.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.6.tar.bz2
/tmp/ruby-build.20200401132705.1971.uWv7bJ/ruby-2.6.6 /tmp/ruby-build.20200401132705.1971.uWv7bJ ~
Installing ruby-2.6.6...
checking for ruby... false
checking build system type... aarch64-unknown-linux-gnu
checking host system type... aarch64-unknown-linux-gnu
checking target system type... aarch64-unknown-linux-gnu
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/tmp/ruby-build.20200401132705.1971.uWv7bJ/ruby-2.6.6':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details

BUILD FAILED (Debian GNU/Linux 10 using ruby-build 20200401-2-g504f6e6)
```
はまったorz・・・・・　 
とはいえ、**no acceptable C compiler found in $PATH**　てのが問題っぽい。cコンパイルのライブラリが足りないと推測をたて、色々ググる。
と、[ここの](https://linux4one.com/how-to-install-ruby-on-debian-10)ページでは、debianのrubyインストール前にいろいろなパッケージをしていたので、これを参考に。確かにその中の **build-essential**にはgccなどが含まれている。

```
$ sudo apt install libreadline-dev zlib1g-dev libreadline-dev libncurses5-dev autoconf bison libssl-dev build-essential libyaml-dev libffi-dev libssl-dev libreadline-dev zlib1g-dev libgdbm-dev
```
aptコマンド終了後に再度実施！

```
$ rbenv install -v 2.6.6
```
こんどは問題なくいってるっぽい。そして約20分後に終了。
インストールされているrubyのバージョンを確認。やったー！！

```
$ rbenv versions
  2.6.6
```
ここまででは、単にrbenvに入っただけなので、適用にするRubyのバージョンを指定します。
今回はLinux全体に適用せるためにglobal指定で。（ディレクトリ単位などの場合はlocalを指定)

```
# 適用させるrubyのバージョンの指定
$ rbenv global 2.6.6

# rubyのバージョン確認
$ ruby -v
ruby 2.6.6p146 (2020-03-31 revision 67876) [aarch64-linux]
```
rubyのバージョン確認も問題なし！

```
$ which ruby
/home/XXXXX/.rbenv/shims/ruby  　　　　　　　#XXXXXはユーザ名
```
きちんとrbenvで管理されているrubyが適用されています。

## rubyの動作確認

以下のファイルを作成＆実行

``` sample.rb
puts "hello!"
```

``` 
$ ruby sample.rb
hello
```
きちんと動いた！


# 参考

- [【rbenvの使い方】RubyをCentOSにインストールしよう【超簡単】](https://kitsune.blog/ruby-install)
→　OSのディストリビューションは異なりますが（chromebookはDebian)が大変参考になりました。

- [Github(rbenv)](https://github.com/rbenv/rbenv#basic-github-checkout)／[Github(ruby-build)](https://github.com/rbenv/ruby-build#installation)
→　いずれもreadme.mdファイルにインストールなどの説明が丁寧に書かれています。

- [Rubyのインストール](https://www.ruby-lang.org/ja/documentation/installation/#package-management-systems)
→　パッケージマネージャ(debianの場合は"apt"）を使ったインストールをおすすめしない理由が書かれています。

- [How to Install Ruby on Debian 10](https://linux4one.com/how-to-install-ruby-on-debian-10/)
→　Debian(chromebook のlinuxデストリビューション）でrubyをインストールするマニュアル。失敗してググる中でこの記事にたどり着いたが、最初からこの記事通りにやっておけばすんなりいけたと思う。