はじめに
vagrantを使い、躓いたことの個人メモです。
共有フォルダ上でbundle installするとエラーになる
Vagrantfile
config.vm.synced_folder "./data", "/home/vagrant/data", create:"true"
こんなふうに共有フォルダを設定し、bundle install --path vendor/bundle
を行うとnokogiriのインストールでエラーになりました。
以下のリンクを参考↓
Vagrantで共有フォルダ設定したフォルダでbundle installがコケる
結果的にgemのインストール先を共有ファルダじゃないところに変更しました。
/home/vagrant/.bundles
を作成しここにインストールします。
$ mkdir /home/vagrant/.bundles
$ bundle install --path /home/vagrant/.bundles/vendor/bundle
これでちゃんとbundle install
が通ります。
bundle installのパスもちゃんと変更になっていました。なので次回以降はbundle install
でちゃんと/home/vagrant/.bundles/vendor/bundle
にインストールされます。
.bundle/config
---
BUNDLE_PATH: "/home/vagrant/.bundles/vendor/bundle"
ソースコードが自動リロードされない
rails serverを立ち上げて、コントローラーの記述を変更するとコードが自動で反映されず、rails serverを再起動する必要がありました。
以下参照↓
Rails5.1 サーバーのソースコード変更後の自動リロードの設定
以下の設定を行うだけで問題が解決しました。
config/environments/development.rb
# コメントアウト↓
# config.file_watcher = ActiveSupport::EventedFileUpdateChecker
# 追記↓
config.file_watcher = ActiveSupport::FileUpdateChecker
railsアプリの作成からrails s まで
$ mkdir アプリ名
$ cd アプリ名
$ bundle init
$ bundle install --path vendor/bundle
$ bundle exec rails new . -d データベース
$ bundle exec rails db:create
$ bundle exec rails s -b 0.0.0.0 -d