WSLでRails6の環境構築

VSCode上で環境構築します。
#WSLを有効にし、Ubuntuをインストール
[こちらの記事](https://qiita.com/Brutus/items/f26af71d3cc6f50d1640)通りに進めていけば簡単にできます。画像付きですごく分かりやすかったです。
UbuntuはLTS版を入れました。
#VSCodeの設定
VSCodeの拡張機能`Remote Development`をインストール。これでWSLに接続して開発ができるようになる。
インストールしたら、VSCodeの一番左下に緑のアイコンがでるのでクリック。
`Remote-WSL: New Window`を選択。これで設定終了。
#Ubuntuのパッケージを最新化
VScodeのターミナルを開いて、2つのコマンドを実行。かなり時間かかりました。
sudoコマンドを使うときに、Ubuntuで設定したパスワードを聞かれるかも。

```:パッケージの最新化
$ sudo apt update
$ sudo apt upgrade -y
```
#rbenvのインストール
rbenvは、複数のRubyのバージョンを管理し、プロジェクトごとにRubyのバージョンを指定して使える。バージョンを変更したい場合も簡単。
参考: [rbenv](https://github.com/rbenv/rbenv)

```:rbenvのインストールと設定
#rbenvをインストール
$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv

#パス指定と初期化処理を.bashrcに追加
$ echo 'export PATH="$HOME"/.rbenv/bin:$PATH' >> ~/.bashrc
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc

#パス指定と初期化処理の反映
$ source ~/.bashrc

#バージョンが表示されれば成功
$ rbenv -v
```
#ruby-buildのインストール
ruby-buildはRubyのインストールを簡単にしてくれる。
参考: [ruby-build](https://github.com/rbenv/ruby-build)、[ruby-buildのWiki](https://github.com/rbenv/ruby-build/wiki#suggested-build-environment)

```:ruby-buildのインストール、その他必要パッケージ
# ruby-buildのインストール
$ mkdir -p "$(rbenv root)"/plugins ←これいるの？やらなくてもできた。
$ git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build

#Rubyのインストールに必要なパッケージ。ruby-buildのWiki参照。かなり時間かかる。
$ sudo apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm5 libgdbm-dev
```
#Rubyのインストール
ようやくrbenvを使ってRubyのインストールをします。安定版をインストールする。
恐ろしいくらい時間がかかりました。
最新の安定版の確認: [こちら](https://www.ruby-lang.org/ja/downloads/)

```:Rubyのインストール
#Rubyのインストール
$ rbenv install 2.7.0

#PC全体で使うRubyのバージョンを指定する
$ rbenv global 2.7.0

$ ruby -v
```
#RubyGemsのアップデート
RubyGemsを最新版にアップデートする。

```
$ gem update --system
```
#Railsのインストール
Railsをインストールします。
最新のバージョンの確認: [こちら](https://rubygems.org/gems/rails)

```
$ gem install rails -v 6.0.2.1
$ rails -v
```
#Node.jsのインストール
Rails6から標準のWebpackerのインストールに必要。

```
# npmのインストール
$ sudo apt install -y npm

# Node.jsのインストール
$ sudo npm install n -g
$ sudo n stable

$ node -v
```
#yarnのインストール
Webpackerのインストールに必要。
最初[この方法](https://yarnpkg.com/ja/docs/install#alternatives-stable)でやったがうまくできなかった。
参考: [yarn](https://yarnpkg.com/ja/)

```
$ 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-get update && sudo apt-get install yarn
$ yarn -v

#エラー出た時のメモ
$ sudo apt remove cmdtest
$ sudo apt remove yarn
$ sudo apt autoremove
```
#SQLite3のインストール
Rails標準のデータベースなのでインストール。

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

#アプリの作成

```
$ rails new sample_app
$ cd sample_app
$ rails s
```

#その他メモ
railsインストールするときノードキュメント

```
# gemでライブラリーをインストールした際にドキュメントを生成すると時間がかかる。
# そこで、ドキュメントを生成しない設定にする
$ cd
$ touch .gemrc
$ echo "install: --no-document" >> .gemrc
$ echo "update: --no-document" >> .gemrc

# rbenvのアップデート
# Rubyの最新バージョンを使いたいときは、rbenvをアップデートしてから導入
$ cd ~/.rbenv
$ git pull
$ cd plugins/ruby-build
$ git pull

# 新しいコマンドを要するgemをインストールしたとき使用
$ rbenv rehash

# 新しく作ったディレクトリで作業するときは、そこで使うRubyのバージョンを指定する
$ rbenv local バージョン
```

#感想
ほとんどエラー無くできたが、各種パッケージのインストールが長すぎて疲れました笑
それにすごい動作が遅い