---
slug: "ruby-rails-rubymine-vagrant"
title: "Ruby on Rails + Vagrant + Rubymine 環境構築"
description: "仕事では Python + Virtualenv + Django + Pycharm でやってるんですが、Rails を扱わないといけない案件が出てきたので環境を作りました。"
url: "https://www.ytyng.com/blog/ruby-rails-rubymine-vagrant"
publish_date: "2017-03-12T01:00:00Z"
created: "2017-03-12T01:00:00Z"
updated: "2026-02-27T05:43:47.319Z"
categories: ["Rails"]
keywords: ""
featured_image_url: "https://media.ytyng.com/resize/20230812/f4ab0f9de85d4350993ce7fd109316fb.png.webp?width=768"
has_video: false
has_music: false
video_urls: []
music_urls: []
lang: "ja"
---

# Ruby on Rails + Vagrant + Rubymine 環境構築

<p>仕事では Python + Virtualenv + Django + Pycharm でやってるんですが、Rails を扱わないといけない案件が出てきたので環境を作りました。</p>
<p>Vagrant + 手作業で開発環境構築します。(慣れてきたらDocker で環境構築予定)</p>
<p>最初は rbenv なしで直接 Ruby の指定バージョンを ubuntu にインストールしようと思ってやってたのですが、rbenv なしだと逆に難しそうなので rbenv 使うことにしました。<br /><br /></p>
<h3>Rubymine のダウンロード</h3>
<p><a href="https://www.jetbrains.com/ruby/" target="_blank">Ruby on Rails IDE :: JetBrains RubyMine</a></p>
<p><a href="https://www.jetbrains.com/toolbox/app/" target="_blank">Jetbrains Toolbox</a> で入れると楽</p>
<p></p>
<h3>Vagrant のダウンロード</h3>
<p><a href="https://www.vagrantup.com/" target="_blank">Vagrant by HashiCorp</a></p>
<p></p>
<h3>ディレクトリの作成</h3>
<pre>mac$ cd ~/workspace<br />mac$ mkdir rails-tutorial<br />mac$ cd rails-tutoria</pre>
<p></p>
<h3>Vagrantfileの作成</h3>
<pre>mac$ vagrant init rails-tutorial <a href="https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-i386-vagrant.box">https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-i386-vagrant.box</a></pre>
<p><code>Vagrantfile</code> ができる</p>
<h3>Vagrantfile の編集</h3>
<p>▼この行のコメントアウトを外す</p>
<pre style="background-color: #ffffff; color: #000000; font-family: 'Menlo'; font-size: 9.0pt;"><span style="color: #c37522; font-style: italic;">config</span>.vm.network <span style="color: #008000; font-weight: bold;">"private_network"</span>, <span style="color: #660e7a; font-weight: bold;">ip</span>: <span style="color: #008000; font-weight: bold;">"192.168.33.10"</span></pre>
<p>▼この行を追加</p>
<pre style="background-color: #ffffff; color: #000000; font-family: 'Menlo'; font-size: 9.0pt;"><span style="color: #c37522; font-style: italic;">config</span>.vm.synced_folder <span style="color: #008000; font-weight: bold;">"."</span>, <span style="color: #008000; font-weight: bold;">"/var/rails/rails-tutorial"</span></pre>
<p>▼この行を追加 (最後の方に)</p>
<pre style="background-color: #ffffff; color: #000000; font-family: 'Menlo'; font-size: 9.0pt;"><span style="color: #c37522; font-style: italic;">config</span>.vm.provision <span style="color: #008000; font-weight: bold;">"shell"</span>, <span style="color: #660e7a; font-weight: bold;">path</span>: <span style="color: #008000; font-weight: bold;">'provision/vagrant-setup-root.sh'<br /></span><span style="color: #c37522; font-style: italic;">config</span>.vm.provision <span style="color: #008000; font-weight: bold;">"file"</span>, <span style="color: #660e7a; font-weight: bold;">source</span>: <span style="color: #008000; font-weight: bold;">"provision/.rbenvrc"</span>, <span style="color: #660e7a; font-weight: bold;">destination</span>: <span style="color: #008000; font-weight: bold;">"/home/ubuntu/.rbenvrc"<br /></span><span style="color: #c37522; font-style: italic;">config</span>.vm.provision <span style="color: #008000; font-weight: bold;">"file"</span>, <span style="color: #660e7a; font-weight: bold;">source</span>: <span style="color: #008000; font-weight: bold;">"provision/vagrant-setup-ubuntu.sh"</span>, <span style="color: #660e7a; font-weight: bold;">destination</span>: <span style="color: #008000; font-weight: bold;">"/tmp/vagrant-setup-ubuntu.sh"<br /></span><span style="color: #c37522; font-style: italic;">config</span>.vm.provision <span style="color: #008000; font-weight: bold;">"shell"</span>, <span style="color: #660e7a; font-weight: bold;">inline</span>: <span style="color: #008000; font-weight: bold;">"sudo --login --user=ubuntu /usr/bin/env bash /tmp/vagrant-setup-ubuntu.sh"<br /></span></pre>
<p></p>
<h3>プロビジョニングスクリプトを作る</h3>
<p><code>provision</code> ディレクトリを作り、その中にファイルを作成</p>
<h4>provision/.rbenvrc</h4>
<pre style="background-color: #ffffff; color: #000000; font-family: 'Menlo'; font-size: 9.0pt;"># rbenv を有効にするためのスクリプト<br /># ドットコマンドで読み込む<br />export PATH=${HOME}/.rbenv/bin:${PATH}<br />eval "$(${HOME}/.rbenv/bin/rbenv init -)"<br /><br />function runserver() {<br />  cd /var/rails/rails-tutorial/rails-tutorial/<br />  rails server -b 0.0.0.0 -p 8080<br />}<br /><br />function debugserver() {<br />  cd /var/rails/rails-tutorial/rails-tutorial/<br />  rdebug-ide --host 0.0.0.0 --port 1234 --dispatcher-port 26162 -- bin/rails s -b 0.0.0.0 -p 8080<br />}</pre>
<h4>provision/vagrant-setup-root.sh</h4>
<pre style="background-color: #ffffff; color: #000000; font-family: 'Menlo'; font-size: 9.0pt;"><span style="font-weight: bold;">#!/usr/bin/env bash<br /></span><span style="font-weight: bold;"><br /></span><span style="color: #000080; font-weight: bold;">if [[ </span>! <span style="color: #000080; font-weight: bold;">-d </span>/var/rails<span style="color: #000080; font-weight: bold;"> ]]</span>; <span style="color: #000080; font-weight: bold;">then<br /></span><span style="color: #000080; font-weight: bold;">    </span>mkdir -p /var/rails<br />    chown ubuntu:ubuntu /var/rails<br /><span style="color: #000080; font-weight: bold;">fi<br /></span><span style="color: #000080; font-weight: bold;"><br /></span>apt update -y<br />apt install -y git build-essential<br />apt install -y libssl-dev libreadline-dev zlib1g-dev</pre>
<h4>provision/vagrant-setup-ubuntu.sh</h4>
<pre style="background-color: #ffffff; color: #000000; font-family: 'Menlo'; font-size: 9.0pt;"><span style="font-weight: bold;">#!/usr/bin/env bash<br /></span><span style="font-weight: bold;"><br /></span>ruby_version=2.4.0<br /><br /><span style="color: #000080; font-weight: bold;">[[ -d </span><span style="color: #008000; font-weight: bold;">"${HOME}/.rbenv"</span><span style="color: #000080; font-weight: bold;"> ]] || </span>{<br />  git clone https://github.com/sstephenson/rbenv.git ~/.rbenv<br />  git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build<br />}<br /><br />grep .rbenvrc <span style="color: #000080; font-weight: bold;">$</span>{HOME}/.bashrc <span style="color: #000080; font-weight: bold;">|| </span>{<br />  <span style="color: #0b0c95;">echo </span><span style="color: #008000; font-weight: bold;">'. ~/.rbenvrc' </span><span style="color: #5a5a5a; font-style: italic;">&gt;&gt; ${HOME}/.bashrc</span>;<br />}<br /><br /><span style="color: #0b0c95;">. </span>~/.rbenvrc<br /><br />rbenv versions |grep <span style="color: #000080; font-weight: bold;">$</span>{ruby_version} <span style="color: #000080; font-weight: bold;">|| </span>{<br />  rbenv install <span style="color: #000080; font-weight: bold;">$</span>{ruby_version}<br />  rbenv global <span style="color: #000080; font-weight: bold;">$</span>{ruby_version}<br />}<br /><br />which rails <span style="color: #000080; font-weight: bold;">|| </span>gem install rails</pre>
<p>note: <code>rbenv</code>, <code>ruby-build</code> は、<code>apt install&nbsp;rbenv ruby-build</code> でもインストールできますが、バージョンが古いため選択可能な Ruby のバージョンが少なくなります。git clone でインストールした方が良いです。</p>
<h3>ためしに起動</h3>
<pre>mac$ cd ..<br />mac$ vagrant up</pre>
<p></p>
<p>note: 仮想マシンを再生成する場合は <code>vagrant reload</code></p>
<p>note: プロビジョニングスクリプトだけ再実行する場合は <code>vagrant provision</code></p>
<p></p>
<p></p>
<h3>SSH で仮想マシンにログインしてみる</h3>
<pre>mac$ vagrant ssh</pre>
<p>&rarr; 入れる。</p>
<pre>ubuntu$ ruby --version<br />ruby 2.4.0p0 (2016-12-24 revision 57164) [i686-linux]</pre>
<p></p>
<p></p>
<h2>Rails の初期環境を構築する</h2>
<p><code>vagrant ssh</code> でログインしてから</p>
<pre>ubuntu$ cd /var/rails/rails-tutorial/<br />ubuntu$ rails new rails-tutorial</pre>
<p>&rarr; <code>/var/rails/rails-tutorial/rails-tutorial/</code> ができる</p>
<p>これは、ホストのディレクトリをマウントしているので、ホストの <code>rails-tutorial</code> プロジェクトのディレクトリ以下に <code>rails-tutorial</code> ディレクトリ(つまり、<code>~/workspace/rails-tutorial/rails-tutorial</code>)ができているのがわかる。</p>
<h3>デバッグ用 Gem の追加</h3>
<p><code>/var/rails/rails-tutorial/rails-tutorial/</code>の中に、<code>Gemfile</code> があるので修正。ホストPC側でも仮想マシン側でもどっちで修正してもいい。</p>
<p></p>
<h3>仮想マシン用ライブラリのインストール設定</h3>
<pre style="background-color: #ffffff; color: #000000; font-family: 'Menlo'; font-size: 9.0pt;"><span style="color: #808080; font-style: italic;"># gem </span><span style="color: #808080; font-weight: bold; font-style: italic;">'therubyracer'</span><span style="color: #808080; font-style: italic;">, platforms: </span><span style="color: #808080; font-weight: bold; font-style: italic;">:ruby</span></pre>
<p>▲これのコメントアウトを外しておく</p>
<p></p>
<h3>デバッグ用 gem をインストール設定</h3>
<p>Gemfile に追記 ( <span style="font-style: italic;">group </span><span style="color: #660e7a; font-weight: bold;">:development</span>, <span style="color: #660e7a; font-weight: bold;">:test </span><span style="color: #000080; font-weight: bold;">do </span>の中とかに)</p>
<pre style="background-color: #ffffff; color: #000000; font-family: 'Menlo'; font-size: 9.0pt;"><span style="font-style: italic;">gem </span><span style="color: #008000; font-weight: bold;">'ruby-debug-ide'<br /></span><span style="font-style: italic;">gem </span><span style="color: #008000; font-weight: bold;">'debase'</span></pre>
<p></p>
<h3>ライブラリを Bundle install する</h3>
<p><code>vagrant ssh</code> でログインしている状態で</p>
<pre>ubuntu$ cd /var/rails/rails-tutorial/rails-tutorial/<br />ubuntu$ bundle install</pre>
<p>&rarr; ライブラリがインストールできる</p>
<p></p>
<h2>テストサーバを実行</h2>
<p>SSH で仮想マシンにログインしてから</p>
<pre>ubuntu$ runserver</pre>
<p></p>
<p>もしくは、ホストPC から</p>
<pre>mac$ vagrant ssh -c ". ~/.rbenvrc; runserver"</pre>
<p></p>
<h3>テスト表示</h3>
<p><a href="http://192.168.33.10:8080/" target="_blank">http://192.168.33.10:8080/</a> にブラウザでアクセス</p>
<p>&rarr;見れる</p>
<p></p>
<p></p>
<h2>リモートデバッグの設定</h2>
<p></p>
<p>RubyMine でプロジェクトのディレクトリを開いて</p>
<p>メニューバーの<code>Run</code> &rarr; <code>Edit Configuration</code></p>
<p><code>+</code> を押す &rarr; <code>Ruby remote dbug</code></p>
<p>Name: <code>remote debug</code> とか適当に</p>
<p>Remote host: <code>192.168.33.10</code></p>
<p>Remote port: <code>1234</code> のまま</p>
<p>Remote root folder: <code>/var/rails/rails-tutorial</code></p>
<p>Local port: <code>26162</code> のまま</p>
<p>Local root folder: <code>/Users/ytyng/workspace/rails-tutorial</code></p>
<p>&rarr; OK クリック</p>
<h3>デバッグサーバの起動</h3>
<p><code>vagrant ssh</code> で仮想マシンにログインしてから</p>
<pre>ubuntu$ debugserver</pre>
<p></p>
<p>もしくは、ホストPC から</p>
<pre>mac$ vagrant ssh -c ". ~/.rbenvrc; debugserver"</pre>
<p></p>
<p>デバッグサーバが起動したら、RubyMine から先程の <code>remote debug</code> 実行環境でデバッグ開始 <code>Run</code> &rarr; <code>Debug...</code> &rarr; <code>remote debug</code> &rarr; <code>debug</code> (メニューバーが表示さられている方は虫ボタン)</p>
<p>&rarr; vagrant に接続しているターミナルに反応があります。</p>
<p></p>
<p><a href="http://192.168.33.10:8080/" target="_blank">http://192.168.33.10:8080/</a> にブラウザでアクセス</p>
<p>&rarr;見れる。</p>
<p></p>
<p>これで、ブレイクポイントなど設置してデバッグ可能になっているはずです。</p>
