1
6

More than 1 year has passed since last update.

windows10(WSL2)でRailsの環境構築をしてみた (2) ~Rails導入/起動編~

Last updated at Posted at 2020-04-25

#はじめに
前回記事にてWSL2の導入ができましたが、今回はWSL2を用いて実際にUbuntu 18.04に環境を構築していきます。

#Ruby(Rails)導入
@ksh-fthr さんの以下記事を参考にしました。
Windows10 で WSL を使って Rails 環境を構築したときのメモ
見出しRails 環境を構築しよう1~8を実施してください。

今回しようとしているのは上記の記事と若干違うので、以下の点だけ異なっています。
Ruby 2.6.6を導入
・sqlite3ではなくmysqlを導入するので7.sqliteを入れようは実施不要

#WebPackerの導入
rails6からWebpackerが必須となり、Webpackerを入れないと、Railsアプリ作成の際にエラーが出てしまいます。
Ubuntu 18.04 LST にて以下コマンドを実行してください。

まず、Webpacekrをインストールするためのyarnをインストールします。
単純にapt-get install yarnだけだとバージョンが古くてWebpackerをインストールできなかったので、以下コマンドでバージョンの新しいyarnを入れます。

Ubuntu18.04
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
sudo apt-get update
sudo apt-get install yarn

本命のWebpackerを導入します。

Ubuntu18.04
rails webpacker:install

#mysqlの導入
今回はsqliteの代わりにmysqlを導入します。
Ubuntu 18.04 LST にて以下コマンドを実行してください。

mysqlの導入

Ubuntu18.04
sudo apt-get install mysql-server mysql-client

mysqlのバージョン確認

Ubuntu18.04
実行コマンド
mysql --version
実行結果
mysql  Ver 14.14 Distrib 5.7.29, for Linux (x86_64) using  EditLine wrapper

バージョンが表示されれば導入完了です。

mysqlにはデフォルトでrootユーザが用意されていますが、これをrails上で使用するとすると、権限の問題で弾かれてしまいます。
root以外のユーザを作成し、きちんと権限も与えてあげましょう。
以下、コマンド例になります。

ユーザ作成例(rootで実行)

CREATE USER railsuser@'localuser' IDENTIFIED BY '******(パスワード)'

権限付与例(rootで実行)

GRANT ALL ON *.* TO railsuser@'localuser';

#Atom導入
今回はエディターとしてAtomを利用します。
Ubuntu 18.04 LST にて以下コマンドを実行してください。

Ubuntu18.04
sudo add-apt-repository ppa:webupd8team/atom
sudo 
sudo apt-get install atom

以下コマンドを実行すると、Atom がGUIで立ち上がってきます。

Ubuntu18.04
atom
2020/5/30 追記

WSL2で開発するならVScodeの方が互換性が強く、こちらを使わない理由はないです。
ここで言っていることは無視して、おとなしくVScodeを導入してください(^^;

#Rails サーバ起動
Ubuntu 18.04 LST上でRailsサーバを起動していきます。

###1. アプリ作成
新しいアプリ作成します。

Ubuntu18.04
rails new sample -d mysql
cd sample

###2. mysql設定ファイル編集
/config/database.ymlにmysqlのログイン情報を記載します。

database.yml
# MySQL. Versions 5.5.8 and up are supported. 
#
# Install the MySQL driver
#   gem install mysql2
#
# Ensure the MySQL gem is defined in your Gemfile
#   gem 'mysql2'
#
# And be sure to use new-style password hashing:
#   https://dev.mysql.com/doc/refman/5.7/en/password-hashing.html
#
default: &default
adapter: mysql2
encoding: utf8mb4
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: railsuser
password: ******(パスワード)
socket: /var/run/mysqld/mysqld.sock

usernamepasswordをmysql導入時に設定した内容にしてください。

また、テスト・開発・本番用のDBはあらかじめmysqlにて作成しておいてください。

###3. サーバ起動
サーバを起動します。

Ubuntu18.04
rails s

ブラウザにてlocalhost:3000に接続して以下画面が表示されたら成功です。
2020-04-26 (6).png

1
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
6