WSL で Ruby on Rails 環境構築 [VS Code]

プログラミング

前回の記事にて WSLでLinux開発環境を構築を構築しました。

Ruby on Rails 開発環境も構築したいと思いましたので、設定方法を備忘録として記録します。

WSL上にて VS Code を起動します。

※設定方法は下記の記事を参照してください。

スポンサーリンク

VS Code on WSL

aptの更新

VS Code のターミナルを表示させてください。

最初にパッケージマネージャーである apt の更新を行わなければいけませんが、その前に日本リポジトリにしないと一部パッケージが更新できない不具合があるため先に変更します。

ターミナルに書きコマンドを入力してください。

 sudo sed -i'~' -E "s@http://(..\.)?archive|security)\.ubuntu\.com/ubuntu@http://ftp.jaist.ac.jp/pub/Linux/ubuntu@g" /etc/apt/sources.list 

各種パッケージの更新します。

sudo apt update

続いて下記コマンドを実行してください。

sudo apt full-upgrade

gitのインストール

git をインストールします。

sudo apt install git

rbenvのClone

rbenvをインストールします。

rbenv は複数のバージョンのRubyを切り替えるためのツールです。

git clone https://github.com/sstephenson/rbenv.git ~/.rbenv

rbenvのコマンドをShellから呼び出せるように登録

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile 

Shellを再起動

exec $SHELL -l

ruby-build のインストール

ruby-build は Ruby をいれるためのプラグインです。

ruby-build のインストールする際に何種類か必要なライブラリがあります。
まずはそれらを事前に入れておきます。

Ruby を入れる際に発生する可能性があるエラーを事前に回避するためです。

下記のコードを実行してください。

sudo apt-get install make
sudo apt-get install gcc
sudo apt-get install -y libssl-dev libreadline-dev zlib1g-dev

続いて ruby-build をインストールします。

git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

.bash_profileを再読み込み

source ~/.bash_profile
rbenv --version 

インストールができるrubyのバージョンを確認

rbenv install --list
※私の環境では上記コマンドを実行すると下記エラーがでました。 問題のない方は飛ばしてください

※表示の通り「sudo apt install rbenv」を実行しました。

※実行後再度「rbenv install –list」のコマンドを実行しました。

※無事インストール可能なバージョンが表示されました。

rubyのバージョンを指定してインストールします。

rbenv install 2.6.3 //今回は[2.6.3]を指定しました。

まだRubyをインストールしただけでPC全体にバージョン[2.6.3]を反映していないので設定します。

rbenv global 2.6.3

※ちなみにプロジェクトごとにバージョンを切り替えたい場合は、バージョンを切り替えたいプロジェクトのディレクトリで「local」コマンドを使用すれば変更が可能です。

rbenv local 2.6.3

rubyのバージョンを確認します。

ruby -v

バージョンが表示されれば無事rubyはインストールされています。

※Rubyのバージョンが切り替わらない場合

bundlerのインストール

gemを管理するbundlerをインストールします。

sudo gem install bundler

Node.jsのインストール

Rails を実行するためにはJavaScriptランタイムが必要です。
JavaScriptランタイムで有名である Node.js をインストールします。

sudo apt install nodejs

Rails のインストール

それでは続いてRailsを入れていきます。

sudo gem install rails -v 5.2.3

「-v 5.2.3」の部分はバージョンを指定する場合に入力します。バージョンを指定しなければ「gem install rails」のみで大丈夫です。

SQLiteのインストール

Railsを使用するにあたって SQLite3 が必要になります。
依存ライブラリを先にインストールしなければいけません。

sudo apt-get install libsqlite3-dev

続いて SQLite3 をインストールします。

gem install sqlite3

Rails プロジェクトをWindows側に置くようにする。 [ シンボリックリンク ]

これまでの手順で WSL環境に Rails を導入できましたが、今のままですと Windows側から Rails のプロジェクトを触ることができないので不便です。

Windowsにプロジェクトフォルダを作成してWSL からWindowsに参照する設定をします。

[ちなみにWSL から Windows の参照は「/mnt/c/」で参照することができます。]

WSLのユーザホームディレクトリから Windows側のフォルダにシンボリックリンクを作成します。

※先にWindowsのユーザホームフォルダに任意のフォルダを作成してください。私は「Rails」という名のフォルダを作成しました。 [C:\Users\ユーザ名\Rails]

以下のコマンドでシンボリックリンクを作成します。

ln -s /mnt/c/Users/ユーザ名/Rails  ~/Rails

「ls -l」で確認します。

ls -l

ちなみにシンボリックリンクを解除する場合は

unlink ~Rails // 「Rails」の部分は作成されたディレクトリ名

これで解除されました。

Rails アプリを作成

ここまででRailsアプリを作成する準備は完了しましたのでアプリを作成します。

さきほど作成しました「Rails」フォルダに移動してください

cd Rails

フォルダ移動後、下記コマンドを実行してください。

rails new test-app
※ここでエラーの発生。[erro: chmod on ・・・・]

error: chmod on /mnt/c/Users/ユーザー名/Rails/test-app/.git/config.lock failed: Operation not permitted

上記のエラーが発生し「Rails new」コマンドの途中で止まりアプリ作成できませんでした。

調べましたらアクセス権限の関係らしく、 データを有効にした状態でマウントする必要があるようです。

下記コマンドで metadata オプションを付けてドライブを再マウントしてください。

sudo umount /mnt/c
sudo mount -t drvfs C: /mnt/c -o metadata

VS Code のターミナルからでは何故か上手くいかなかったので、VS Code を一旦落として 「Ubuntu」から実行しました。

再度「Rails」フォルダへ移動後、「Rails new」コマンドを実行

無事作成されました!

作成されたら アプリフォルダへ移動します。

cd test-app

続いてrails server を実行します。

rails s

立ち上がりました!

ここまで来るのにかなり時間がかかってしまいました。

Cloud9 を使えばこのような手間はありませんが、ローカル環境で Cloud9 と同じような環境をWindows環境で整えたいと思いで作成しました。

改めて思いましたが、Cloud9 って便利ですね!

環境設定も大切な作業のひとつですので、この作業もプログラミング学習の一環とし、そしてVS Codeの拡張機能を追加して私の使いやすい環境を作っていきたいと思います!

コメント

タイトルとURLをコピーしました