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

# はじめに
chromebookにrubyのインストールは無事に終わって、次はrubyの代表的なフレームワークであるrailsをインストールしてみたのでその手順をのせます。

[chromebook(c101pa)にrubyをインストール手順はこちら](https://qiita.com/great084/items/9158497c3ca24f79c2c9)

# 実施環境
chromebook c101pa
Chrome OS 80.0.3987.158 （2020/4/1時点の最新版）
linux(ベータ版) debian 10.3
rbenvとrubyはインストール済み。　→　[chromebook(c101pa)にrubyをインストール手順はこちら](https://qiita.com/great084/items/9158497c3ca24f79c2c9)

# やったこと。やってみた感想
- bundlerのインストール　→　railsのインストール →　Gemfileを使ったbundle installの流れ
- railsは最近6系にメジャーアップデートされ、5系、6系で使い分ける必要がありそうなので、両方をインストール（プロジェクト作成時にバージョン指定）
- railsインストールの事前に必要なもの(sqlite, java runtimeとか）が全く把握できていなくて、対処療法的に実施。
- 6系のインストールはyarnのインストールが必要だったりと、かなり手こずった

# railsのインストール手順
前述の通り、railsバージョン5系と6系、両方をインストールすることにします。

## bundlerのインストール
まずは、rubyのgem群の管理をしてくれるbundler(これもgemだが)をインストールします。

```
$ gem install bundler
Fetching bundler-2.1.4.gem
Successfully installed bundler-2.1.4
Parsing documentation for bundler-2.1.4
Installing ri documentation for bundler-2.1.4
Done installing documentation for bundler after 12 seconds
1 gem installed
```

## gem listの確認と更新
railsのバージョン情報を[こちら](https://openstandia.jp/oss_info/rubyonrails/version/)から調べて、今回は5系の最新である5.2.4.2と6系の最新版6.0.2.2をインストールすることに。
gemlistに該当バージョンがあるか確認。

```
$ gem list rails

*** LOCAL GEMS ***

rails (6.0.2.2)
rails-dom-testing (2.0.3)
rails-html-sanitizer (1.3.0)
sprockets-rails (3.2.1)
```
5系のバージョンがないため、5.2.4.2をgemlistに加えます。

```
gem i -v 5.2.4.2 rails
```

すると、きちんと反映された。

```
$ gem list rails

*** LOCAL GEMS ***

rails (6.0.2.2, 5.2.4.2)
rails-dom-testing (2.0.3)
rails-html-sanitizer (1.3.0)
sprockets-rails (3.2.1)
```



## railsのインストール

railsのインストールを実施(5系&6系）
6系はバージョン指定せずに、5系はバージョン指定して実施。

```
$ gem install rails 
$ gem install rails:5.2.4.2
```

インストール後の確認

````
$ rails -v
Rails 6.0.2.2
$ rails _5.2.4.2_ -v
Rails 5.2.4.2
````
インストールされたのが、指定したバージョンと一致していることを確認


## railsの動作確認（5系）


まずは５系から。`rails new`コマンドで新規プロジェクトを作成。

```
$ rails _5.2.4.2_ new rails_sample5

・・中略
Fetching sqlite3 1.4.2
Installing sqlite3 1.4.2 with native extensions
・・中略
sqlite3.h is missing. Try 'brew install sqlite3',
'yum install sqlite-devel' or 'apt-get install libsqlite3-dev'
and check your shared library search path (thelocation where your sqlite3 shared library is located).
・・中略
An error occurred while installing sqlite3 (1.4.2), and Bundler cannot continue.
Make sure that `gem install sqlite3 -v '1.4.2' --source 'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  sqlite3
         run  bundle exec spring binstub --all
Could not find gem 'sqlite3' in any of the gem sources listed in your Gemfile.
・・中略
```

sqlite3がないと怒られたので、支持に従ってsqlite3をインストールする

```
$ sudo apt install sqlite3 libsqlite3-dev
```

インストール後再実施

```
$ rails _5.2.4.2_ new rails_sample5
```
今度はうまくいったっぽい。

railsサーバを起動してみる

```
$ cd rails_sample5
$ rails server
・・中略
/home/great084/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/execjs-2.7.0/lib/execjs/runtimes.rb:58:in `autodetect': Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable) 
・・中略
```

JavaScript runtimeエラーが出力されたため、[こちら](https://matsuoshi.hatenablog.com/entry/2019/03/15/000000)を参考に、nodejsをインストールを実施。

```
git clone git://github.com/creationix/nvm.git ~/.nvm
source ~/.nvm/nvm.sh
nvm install v10
nvm use v10
echo "source ~/.nvm/nvm.sh" >> ~/.profile 
```

再度`rails server`を実施後、待望のwelcome画面が表示された。
![Screenshot 2020-04-01 at 19.32.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/233987/8d51b3c4-a9bd-4e6e-55d2-162bc3612471.png)

## railsの動作確認（6系）
次に6系。同様に`rails new`コマンドで新規プロジェクトを作成。

```
$ rails new rails_sample6

・・中略
Yarn not installed. Please download and install Yarn from https://yarnpkg.com/lang/en/docs/install/
```
yarnがインストールされてませんよと。。。
yarnって何者？という調査を並行しつつ、とりあえずガイドに従ってインストール

```
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update 
sudo apt install yarn
```
再実施

```
rails new rails_sample6
・・中略
 Webpacker successfully installed 🎉 🍰
```
webpackerのインストールも成功した模様で、期待できる。
というかrails6になって絵文字とか出てくるようになったのか・・・

そして、いよいよお待ちかねの`rails server`を実施。
待望のwelcome画面が表示された！！！v5の白人→v6の有色人種になった。。。

![Screenshot 2020-04-01 at 23.30.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/233987/939f6c89-d40d-4293-61e4-39cab5eb1371.png)


# 参考
- [chromebook(c101pa)にrubyをインストールする手順](https://qiita.com/great084/items/9158497c3ca24f79c2c9)

- [Railsのバージョンを指定してinstallする方法](https://qiita.com/tanakayo/items/7b85261924eca1a5a3d6)
　→railsをバージョン指定してインストールする方法の参考にしました

- [Yarn Installation]
 (https://classic.yarnpkg.com/en/docs/install#debian-stable)
 →　yarnのインストール方法を参考に

- [Rails6 Webpackerでエラーが出た](https://qiita.com/libertyu/items/1eb74adc817ab8971100)
→　Webpacker関連のエラー解決の参考に