前回の記事にて 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の拡張機能を追加して私の使いやすい環境を作っていきたいと思います!
コメント