Ruby on Railsに触れてみる

# はじめに
普段はPHP＆JSで開発を行っているのですが、夏休みに入り時間的余裕ができたので、以前から気になっていたRuby on railsに触れたいと思います。
本記事ではUbuntu19.04上で開発環境を整えることをやっていきます。

# インストール
今回インストールするものは以下です！

- rbenv
- ruby-build

## rbenv
Rubyのバージョン管理をしてくれるやつです。pythonで言うpyenvですね。
次のコマンドでインストール

```terminal:ターミナル
# apt install rbenv
# rbenv -v ←入ったかどうかバージョンを見て確認！
```
## Ruby-build
rbenvのinstallコマンドを提供しているプラグインらしいです。
これが古いと新し目のバージョンがinstall listにないので気をつけてください。
さっきのコマンド実行時にインストールを一緒にしてくれているのですが、2.4.*のバージョンまでしかlistに出てこなかったので、以下のコマンドで新しくしてください。

```terminal:ターミナル
# git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-buil
```

# 早速Rubyをインストール

```terminal:ターミナル
# rbenv install -l 　←インストールできるバージョンを表示
----（略）----
  2.6.0-rc2
  2.6.0
  2.6.1
  2.6.2
  2.6.3
  2.7.0-dev
  2.7.0-preview1
----（略）-----
# rbenv install 2.6.0  ←2.6.0をインストール
# rbenv versions ←インストールしたバージョンを確認
* system (set by /root/.rbenv/version)
  2.6.0
# rbenv global 2.6.0 ←システムで使用するRubyを2.6.0に設定
# ruby -v ←バージョンの確認
ruby 2.5.5p157 (2019-03-15 revision 67260) [x86_64-linux-gnu]
```
・・・変わってないだと！？

# Rubyのバージョンがしっかり変わらない問題
調べたらPATHがしっかり通っていませんでした。
ubuntuなら以下のコマンドを実行してbash_profileを編集すれば直ります！

```terminal:ターミナル
# vi ~/.bash_profile
--以下のものを追記------
export PATH="~/.rbenv/shims:/usr/local/bin:$PATH"
eval "$(rbenv init -)"
----------------------
# source ~/.bash_profile ←変更を適用
# rbenv global 2.6.0
# ruby -v
ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-linux]
```
これで、しっかり変わりました！

# railsをインストール
```terminal:ターミナル
# apt-get install build-essential liblzma-dev patch ruby-dev zlib1g-dev
# gem install rails
# rails --version
Rails 5.2.2
```
これでRailsのインストールが終了しました。

# とりあえずプロジェクトを作成する
インストールできたので適当なサンプルプロジェクトを作ってみます。
とりあえずデスクトップに作っていきます。

```terminal:ターミナル
# rails new foo
# cd foo
# rails s
(略)
ker/configuration.rb:91:in `rescue in load': Webpacker configuration file not found /home/hara/デスクトップ/foo/config/webpacker.yml. Please run rails webpacker:install Error: No such file or directory @ rb_sysopen - /home/hara/デスクトップ/foo/config/webpacker.yml (RuntimeError)
```
なんかエラーコード吐かれた・・・

webpackerの設定が見つからないらしいので、そこらへんの情報を検索し以下のコードを実行したら直りました。

```terminal:ターミナル
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-get update && sudo apt-get install yarn

作ったプロジェクトフォルダー内で
# rails webpacker:install

終わったあと
# rails s
=> Booting Puma
=> Rails 6.0.0 application starting in development
=> Run 'rails server --help' for more startup options
Puma starting in single mode...
* Version 3.12.1 (ruby 2.6.0-p0), codename: Llamas in Pajamas
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://localhost:3000
Use Ctrl-C to stop
```
これでサーバが起動したので[localhost:3000](http://localhost:3000/) にアクセス
下のような画面が出れば無事Ruby on Railsを使う準備ができました。
![FireShot Capture 001 - Ruby on Rails - localhost.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/323051/68204f5e-dc87-a1c3-ee85-b3e2404c2fe4.png)


とりあえずこれからなにかWebサービスを作ってみていろいろ試します〜〜
# 参考にさせていただいた記事・サイト

- [Ubuntuでのrbenv,ruby-buildの使い方と事前準備に必要なaptパッケージ@tatsurou313 様](https://qiita.com/tatsurou313/items/2a67075ae2416922bff0)
- [Rubyのバージョンが切り替わらない時の対処法！@opiyo_taku 様
](https://qiita.com/opiyo_taku/items/3312a75d5916f6cd32b1)
- [Rails6 開発時につまづきそうな webpacker, yarn 関係のエラーと解決方法
@NaokiIshimura 様](https://qiita.com/NaokiIshimura/items/8203f74f8dfd5f6b87a0)
- [Ubuntu Rails5 nokogiri 1.8.2 インストール エラー時の解決メモ@yowayowa 様](https://qiita.com/yowayowa/items/828d9fb91317f8db72ae)