LoginSignup
49
50

More than 5 years have passed since last update.

Rails環境構築(Windows,VirtualBox,Vagrant,Ubuntu14.04,rbenv,cmder)

Last updated at Posted at 2014-08-09

Windows上にRails環境を構築する機会があったのでメモとして書きます。Macでもほぼ同じ手順で構築できました。
cf) Windows 7マシンで、VirtualBox+Vagrantを使いUbuntu 14.04を動かす

狙い

VirtualBoxの共有フォルダ上にrailsプロジェクトを作成するので、Windows上の好きなエディタでコードが書けます。テスト用のrailsプロジェクトを作成してserverを起動し、Windowsのブラウザからアクセスするところまで書きました。
VirtualBox-shared.png

引用元)VirtualBoxやVagrantを用いたRails開発環境の構築方法(前編)

VirtualBox導入

ver4.3.14でやろうとしたらエラーが出てvagrant up できませんでした。
vagrant 入れ直したり色々やりましたが、VirtualBoxが原因だったようです。
cf)Surface pro 3 でvirtualboxでエラーが発生するとき

ver4.3.12を導入

http://download.virtualbox.org/virtualbox/4.3.12/
の VirtualBox-4.3.12-93733-Win.exe を導入

vagrant導入

http://www.vagrantup.com/downloads.html
windows版を導入

atom導入(任意)

https://atom.io/
atomのwindows版。便利。sublime-textから乗り換えました。
packge-controlもすぐ使えます。
Atom ERB 便利です。
https://atom.io/packages/atom-erb

cmder導入(任意)

http://bliker.github.io/cmder/
Fullバージョンを導入

vagrantを利用するのにcmderは別にいりませんが、便利なので導入します。
cygwin,mingwなどより便利だと思います。最初からgitも使えます。
Ctrl + r で History search も利用可能。
文字表示がよく崩れるのが難点。

shift+左クリック選択でコピー。
alt+左クリックで選択で矩形選択コピー。
右クリック もしくはctrl+v でペースト。

日本語表示幅がおかしいので、
settings -> Font -> Monospace のチェックを外す。
cmderについては以下参照。
cf) 開発者がSurfacePro3を買ったらまずやること

以下、cmderを導入している前提で進める。

Ubuntu14.04導入

Ubuntu 14.04 のboxを追加し、vagrant upで起動

cmderを起動し、以下実行。box add には10〜20分ぐらいかかる。

$ vagrant box add ubuntu14.04 https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box
$ vagrant box list # ubuntu14.04 が追加されていることを確認。
$ mkdir -p vagrant-dir¥ubuntu14.04  #適当なディレクトリ作成。 cmderでは/ではなく¥
$ cd vagrant-dir¥ubuntu14.04
$ vagrant init ubuntu14.04  #Vagranfileが作成される
$ vagrant up  #ubuntu14.04が立ち上がる
$ vagrant ssh  #ubuntu14.04にsshで入る

※ Ubuntu公式 https://cloud-images.ubuntu.com/
https://cloud-images.ubuntu.com/vagrant/trusty/current/

ubuntuにsshで入った後

$ cd /vagrant # /vagrantがデフォルトの共有フォルダとなっている
$ touch foobar #Windows側でfoobarというファイルが作成されていることを確認し、共有フォルダが機能していることを確認

rbenvでrubyをシステムワイドに導入

cf) Ubuntu 14.04 で rbenv, ruby-build を使用して Ruby のバージョンを管理する
(以下ubuntuではないので別途読み替える必要あり)
rbenv+ruby-buildをインストールする手順 (CentOS/RedHat)
Rubyをrbenv+ruby-buildを利用してインストールする手順 (CentOS/RedHat)

$ sudo su - # rootになる
# apt-get -y update
# apt-get -y upgrade
# apt-get install -y build-essential git libssl-dev  #必要なパッケージのインストール
# cd /opt
# git clone git://github.com/sstephenson/rbenv.git
# echo 'export RBENV_ROOT="/opt/rbenv"' >> /etc/profile
# echo 'export PATH="${RBENV_ROOT}/bin:${PATH}"' >> /etc/profile
# echo 'eval "$(rbenv init -)"' >> /etc/profile
# mkdir /opt/rbenv/plugins
# cd /opt/rbenv/plugins
# git clone git://github.com/sstephenson/ruby-build.git
# source /etc/profile  #/etc/profileを再読込するとrbenvが使えるようになる
# rbenv install -l #導入可能なrubyの一覧を表示
# rbenv install 2.1.2 #10〜20分位かかる
# rbenv global 2.1.2
# which ruby
# ruby -v

Rails環境構築

/vagrant以下にテスト用rails プロジェクトを作成します。
/vagrant以下の共有フォルダにgemをインストールしようとするとエラーが発生しました。 今回はgemを "/usr/local/src/bundles/プロジェクト名" 以下にインストールします。
cf) [小ネタ][Ruby on Rails]bundle install時にText file busy エラー

また、システムのrubyにはbundler以外のgemはインストールしないで進めます。

rails new まで

$ apt-get install -y libsqlite3-dev
$ gem i bundler
$ mkdir -p /vagrant/rails/rails-test
$ cd /vagrant/rails/rails-test
$ bundle init  #Gemfileを生成。bundlerがinstallされていないとか出たら、 rbenv rehash 実行
$ vim Gemfile  #railsをコメントイン
Gemfile
# A sample Gemfile
source "http://rubygems.org"

gem "rails"
$ mkdir /usr/local/src/bundles  # gemをインストールするためのディレクトリを作成
$ bundle install --path /usr/local/src/bundles/rails-test
# これで ./bundle/config というファイルに以下のように書き込まれます。次回から単にbundle install と実行すれば、指定したディレクトリにgemが入ります。
.bundle/config
BUNDLE_PATH: "/usr/local/src/bundles/rails-test"
$ bundle exec rails new .   #Gemfileを上書きしてよいか聞かれるので yes。 sprocket周りのエラーでこける
$ bundle update

(※明示的にrbenvのrubyを使うことの宣言は rbenv exec … )

cf) gemをrailsのプロジェクトごとにインストールして管理することに関しては以下参照
システムのgemにrailsをインストールせずrails newする

therubyracer追加

$ vim Gemfile  #15行目のtherubyracerをコメントイン
Gemfile
gem 'therubyracer',  platforms: :ruby
$ bundle install
$ exit #sudoからログアウト
$ exit #ubuntuから一度ログアウト 

ポートフォワーディング

guestの3000番を、hostの13000番にポートフォワーディング

$ vim Vagrantfile  #23行目を変更
Vagrantfile
config.vm.network "forwarded_port", guest: 3000, host: 13000
$ vagrant reload  #ubuntu再起動
$ vagrant ssh  #再度ubuntuにログイン

rails server 起動

$ cd /vagrant/rails/rails-test/
$ bundle exec rails s

この状態でwindowsのブラウザから、localhost:13000 にアクセスすればいつものrailsの初期画面が表示されます。

rails-top.png

参考)
Rvm-seppuku

49
50
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
49
50