LoginSignup
2
2

More than 5 years have passed since last update.

vagrantでrailsのautoloadが効かない

Last updated at Posted at 2015-12-29

結論

二つの課題をクリアしないと解決しませんでした。
1. サーバーのtimezoneがずれてた。
2. GetHostTimeDisabledでホスト、ゲストの時間を同期

ゲストとホストの両方でdateコマンド打てば、ずれてるかどうかわかると思います。

注:ここではrsyncの話はしないです。私はnfsでやっとります。

[対応1]サーバーのtimezoneがずれてた

サーバーのtimezoneをホストOSと同じJSTにしてあげる
cookbookはこちらを使いました。
https://supermarket.chef.io/cookbooks/timezone_lwrp
他にもtimezone系のはあるので、↑のサイトで探してよしなに選ぶと良いかと。

Cfeffile
cookbook 'timezone_lwrp'
Vagrantfile
  config.vm.provision :chef_solo do |chef|
    chef.add_recipe "timezone_lwrp"

    chef.json = {
      tz: "Asia/Tokyo"
    }
  end

[対応2] GetHostTimeDisabledでホスト、ゲストの時間を同期

Vagrantfile
  config.vm.provider :virtualbox do |vb|
    vb.customize ["modifyvm", :id, "--memory", "2048"]
    # ↑この行とは別に
    # ↓この行を追加する
    vb.customize ["setextradata", :id, "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled", 0]
  end

参考:http://polidog.jp/2014/01/08/vagrant/

経緯

ホスト側でソース直したのに反映されず困ってました。
結局、
ファイルのタイムスタンプ的なものが修正によって更新されても、タイムゾーンがずれてるせいでrailsに「更新されてないわ」って思われてたみたいです。

2
2
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
2
2