【vagrant】rails-dev-boxでrails環境構築してみる

Vagrant
寒くなりましたね。一気に。グーグルさんによるところ火曜日までこんな感じっぽいです。もう嫌になりますが、今週もがんばって生きましょう。で、おもむろにVagrantの話になりますが、rails環境構築しようと試みたところ、色々とトラぶったので回避方法を書いて行きたいと思います。

BerkShelfのバージョンについてエラーが出た

最初は別のvagrant-rails-chef-masterってファイルを使ってデプロイしようとしたんですが、BerkShelfのエラーが出ました。具体的にはこういうエラーです。

The Berkshelf version at "" is invalid. Vagrant Berkshelf requires ~> 3.2, but the current version is 3.1.5.

Berkshelf3.1.5じゃダメ3.2以上にしろってエラーが出たんだと思います。とりあえずここでRubyのアップデートとgemを入れなおしてみようと思いました。

rubyを入れなおす1.9xから2.1.5

バージョンを忘れましたが、1.9くらいだった気がします。Windowsなのでインストーラー使ってインストールすることにしました。Rubyのインストーラーはここにありますので、ここから好きなバージョン選んで使って下さい。僕は2.1.5使ってます。ちなみにぐぐる場合Rubyで検索すると、公式の方に行ってしまうので、Ruby インストーラーとかでぐぐらないと、インストーラーのダウンロードができるページが出ないと思います。DevelopMentKitもここでダウンロードできます!

bundle install

rubyにはbundlerっていうGemfileに書かれたファイルを依存関係解消してインストールくれるgemがあります。とりあえずこれを使ってみました。ずらずらとファイルがインストールされる中一個だけファイルがインストールされませんでした。それがこいつnio4rです。


gem install nio4r
ERROR:  Error installing nio4r:         The 'nio4r' native gem requires installed build tools.

Please update your PATH to include build tools or download the DevKit
from 'https://rubyinstaller.org/downloads' and follow the instructions
at 'https://github.com/oneclick/rubyinstaller/wiki/Development-Kit'

nio4rでハマりかけるが、問題はそこではなかった

このnio4rはberkshelfが依存してるgemでosにより挙動が違うらしいです。とりあえずnio4rはWindowsの場合vagrantプラグインのvagrant-berkshelf入れると入ってくるよって事なので、確認したら、vagrant-berkshelf入ってました。ここで積んだと思ったんですけど、よく見たらもうplease updateほにゃららって書いてあるじゃないです!でもDevkitは入ってるんですよね。まあでもchefdkも開発ツールだよなとか、もう意味が分からない事をあんまり動かない頭が考えていたのでおもむろにchef -vしてバージョン調べてみると0.2.xでした。これインストールしたの9月だからまだそんなバージョン変わってないだろうと思って公式見たら0.3.5になってるじゃないですか。あれ?こいつじゃねと思って0.3.5にchef dkを変更してPATHを変えました。環境変数かえるの面倒くっさいのですが、システムのプロパティまでコマンドかWindowsキー押した後のテキストボックスにsysdm.cplって打つと一瞬でいけるので、環境変数かえるのめんどくせーって思った人は試して下さい。でとりあえずchefdkを0.3.5に変更してからberks -vしたら3.2.1になってました。やる前のBerkshelfのバージョンは3.1.5だったのですが・・・。Chefdkと一緒に入ってたんですかね。とりあえずこれでVagrant Upしたら上手く走ったのですが、欲しい環境が揃ってないVagrantfileを選んでたので欲しい環境を探したところrails-dev-boxっていうのを見つけましたのでこれをVagrant upしました。

*vagrant-berkshelfですがBerkShelfが4になったら開発終了だそうです。

・nio4rはOSによって挙動が違う
・Windowsの場合はvagrant-berkshelf入れるとnio4rが入ってくる(自分は上手く行ってなかった)
・ChefDKのVersionを見たら古かったからUpdate
・Updateしたら何故か無事サーバー構築が完了した
・けどvagrantfileを間違えていた

rails-dev-boxからrailsインストール

vagrant up
railsフォルダがない
railsをインストール
railsでプロジェクトを作成
ブラウザでlocalhost:3000を見る
無事構築が完了!

参考記事

怠け者のためのVagrant+Chef入門
https://qiita.com/aKunihiroIshiguro/items/b3b4e87e9302e6e0aa33

rails-dev-box
https://qiita.com/knt45/items/ddff4cb69619c4674fb9

rubyコマンドリスト
https://blog.layer8.sh/ja/2012/04/16/ruby%E3%81%AE%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%83%9E%E3%83%8D%E3%82%B8%E3%83%A1%E3%83%B3%E3%83%88%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0gemrubygems%E3%81%AE%E3%82%B3%E3%83%9E%E3%83%B3/

スポンサーリンク

この記事が気に入ったら
フォローしよう

最新情報をお届けします

おすすめの記事