#はじめに
前回記事にて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を入れます。
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
sudo apt-get update
sudo apt-get install yarn
本命のWebpackerを導入します。
rails webpacker:install
#mysqlの導入
今回はsqliteの代わりにmysql
を導入します。
Ubuntu 18.04 LST
にて以下コマンドを実行してください。
mysqlの導入
sudo apt-get install mysql-server mysql-client
mysqlのバージョン確認
実行コマンド
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
にて以下コマンドを実行してください。
sudo add-apt-repository ppa:webupd8team/atom
sudo
sudo apt-get install atom
以下コマンドを実行すると、Atom がGUIで立ち上がってきます。
atom
2020/5/30 追記
WSL2で開発するならVScodeの方が互換性が強く、こちらを使わない理由はないです。
ここで言っていることは無視して、おとなしくVScodeを導入してください(^^;
#Rails サーバ起動
Ubuntu 18.04 LST
上でRailsサーバを起動していきます。
###1. アプリ作成
新しいアプリ作成します。
rails new sample -d mysql
cd sample
###2. mysql設定ファイル編集
/config/database.yml
にmysqlのログイン情報を記載します。
# 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
username
とpassword
をmysql導入時に設定した内容にしてください。
また、テスト・開発・本番用のDBはあらかじめmysqlにて作成しておいてください。
###3. サーバ起動
サーバを起動します。
rails s