Windows上にRails環境を構築する機会があったのでメモとして書きます。Macでもほぼ同じ手順で構築できました。
cf) Windows 7マシンで、VirtualBox+Vagrantを使いUbuntu 14.04を動かす
狙い
VirtualBoxの共有フォルダ上にrailsプロジェクトを作成するので、Windows上の好きなエディタでコードが書けます。テスト用のrailsプロジェクトを作成してserverを起動し、Windowsのブラウザからアクセスするところまで書きました。
引用元)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をコメントイン
# 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_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をコメントイン
gem 'therubyracer', platforms: :ruby
$ bundle install
$ exit #sudoからログアウト
$ exit #ubuntuから一度ログアウト
ポートフォワーディング
guestの3000番を、hostの13000番にポートフォワーディング
$ vim Vagrantfile #23行目を変更
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の初期画面が表示されます。
参考)
Rvm-seppuku