#はじめに
Windows で Rails アプリケーションの開発環境を構築する方法はいくつかあります。
(参考) WindowsにおけるRubyやRailsの環境構築方法をいろいろ調べてみた(2017年3月版)
https://qiita.com/jnchito/items/9de9e515f82dc1969cc5
ここでは Oracle VirtualBox の Ubuntu 20.04 LTS 仮想環境に Ruby on Rails 開発環境を構築する手順を記述します。
この方法は以下のメリットがあります。
- Linux 環境で Rails を動かすため、ネット上に情報が多い
- 環境の再構築が容易(どこかでうまくいかなくても最初からやり直せる)
- 仮想ディスクイメージを USB メモリ等で持ち運ぶことができ、複数の PC にて同じ環境が使える(ただしポータブルメディア上でそのまま動かすには、USB 接続 SSD などランダム書き込みが高速でないと実用は難しそうです)
- 仮想ディスクイメージをまるごとコピーといった簡単なバックアップも可能
ホストOS は Windows 10 Home で説明していきますが、他のホスト OS でも大差はないと思います。
#バージョン について
この記事は以下のバージョンを対象としてます。(2020年5月9日時点での最新バージョン)
Oracle VM VirtualBox Base Packages - 6.1.6
https://www.oracle.com/virtualization/technologies/vm/downloads/virtualbox-downloads.html
Ubuntu 20.04 LTS Desktop
https://jp.ubuntu.com/download
Ruby : 2.7.1
https://www.ruby-lang.org/ja/
Ruby on Rails : 6.0.3
https://rubyonrails.org/
Linux はトラブル対処時などの情報の得やすさから、シェアが高い Ubuntu、またリリースから5年間のセキュリティサポートが保証されており安定している 20.04 LTS (long-term support) としました。
Ruby および Rails については旧バージョンにこだわる理由があまり無いため、最新バージョンとしました。
#必要ファイルのダウンロード
上記「バージョンについて」のリンクから ubuntu-20.04-desktop-amd64.iso および Oracle VM VirtualBox の Windows Installer をダウンロードし、VirtualBox はインストールを行います。
#Virtual Box 仮想マシンの作成
Oracle VM VirtualBox マネージャで「新規(N)」より仮想マシンを作成します。
パフォーマンス的にはここでメモリ2048MB (余裕があれば4096MB以上)、仮想ハードディスクサイズ20.00GBで作成し、
次に「設定(S)」でシステム→プロセッサー(P)でプロセッサー数を2以上、ディスプレイ→スクリーンでビデオメモリーを128MBに設定するのを推奨します。
(オプション設定)
ホストOSのブラウザでゲストOSで動かしている Rail アプリに接続するには:
ネットワーク→アダプター1▽高度・ポートフォワーディングで、ゲストポート3000をホストポート3000を設定
ホストOSとゲストOSでのファイル共有フォルダを設定するには:
共有フォルダ―→右側の追加アイコンで設定 (自動マウントにチェックを入れる)
#Virtual Box 仮想マシンの起動、ゲストOS インストール
「起動(T)」で起動ハードディスク選択の光学ディスク選択にて、Ubuntu の iso ファイルを追加して起動します。
アプリケーションは「最小インストール」を選択します。(「通常のインストール」でも問題はないと思います)
その他インストールはほぼデフォルトで進めて問題ありません。
#Ubuntu インストール後、Guest Addtions のインストール
左下のメニューより、「端末」を開き、これ以降端末にてコマンドを入力していきます。
端末は右クリックして「お気に入りに追加」してもよいでしょう。
また端末のショートカットは、デフォルトでコピーに「Shift+Ctrl+C」、ペーストに「Shift+Ctrl+V」が割り当てられています。
このショートカットは端末を右クリックして「設定」→ショートカットで変更することができます。
(Linux では「Ctrl+C」はプロセスの終了などで使うことが多いため、コピーは「Ctrl+X」を割り当てるのがよいと思います)
sudo apt install -y build-essential
メニューバー→デバイス→Guest Addtions CD イメージの挿入を選択し、ソフトウェアを実行します。
共有フォルダを使用する場合は、ユーザーに権限を設定する必要があります。
sudo gpasswd -a {ユーザ名} vboxsf
その後 ゲストOS を再起動することで、Guest Addtions が有効になり、
- VirtualBox ウィンドウサイズ変更にゲストOS 画面解像度が追従
- メニューバーのデバイス→クリップボードの共有
- メニューバーのデバイス→ドラッグ & ドロップ
- 共有フォルダ
などが有効になります。
OS再起動は右上のアイコンから行えます。
#Ruby および Ruby on Rails のインストール
参照ライブラリ等のインストール
sudo apt install -y curl git libssl-dev zlib1g-dev libsqlite3-dev libpq-dev
このうち「libpq-dev」はローカルで Rails を動かすだけなら不要です。
しかし Rails アプリは Heroku にデプロイして実行することも多く、
Heroku での実行には PostgreSQL が必要であるため、ここでついでにインストールしておいてもよいと思います。
(参考) Rubyのインストール
[https://www.ruby-lang.org/ja/documentation/installation/#rbenv]
(https://www.ruby-lang.org/ja/documentation/installation/#rbenv)
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc
mkdir -p "$(rbenv root)"/plugins
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
インストールできる Ruby のバージョンを確認します。
rbenv install --list
Ruby 2.7.1 をインストールするコマンドを示します。(このインストールコマンドの実行は10分程度時間がかかるので、ゆっくり待ちましょう)
rbenv install 2.7.1
rbenv global 2.7.1
echo "install: --no-document" >> $HOME/.gemrc
echo "update: --no-document" >> $HOME/.gemrc
gem install rails
Rails 6 の実行には webpacker および Yarnのインストールが必要です。
(参考) Rails6 開発時につまづきそうな webpacker, yarn 関係のエラーと解決方法
https://qiita.com/NaokiIshimura/items/8203f74f8dfd5f6b87a0
(参考) Yarn インストール
https://classic.yarnpkg.com/ja/docs/install/#debian-stable
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 install -y 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 install -y yarn
(2行目に改行が入ってしまうため再掲)
#Rails アプリケーションの起動確認
rails new sample
cd sample
rails server -b 0.0.0.0
ブラウザで http://localhost:3000 にアクセスして画面を確認できます。
#おまけ
Ruby アプリケーションの統合開発環境である RubyMine をインストールするコマンドです。
一か月間試用できます。
sudo snap install rubymine --classic
(参考) RubyMineをインストールする
https://pleiades.io/help/ruby/installation-guide.html