使用NFS与Vagrant似乎会导致严重的权限问题

时间:2014-10-02 15:09:57

标签: ruby vagrant

我正在使用Vagrant来存放我的Rails应用程序。不幸的是,我正在使用NFS来安装我的synced文件夹,导致在同步文件夹中读取或写入任何内容时出错; Resque,Solr甚至捆绑。

例如,使用bundle install --path vendor/bundle会产生:

  

Bundler :: GemspecError:无法在/var/applications/beatroot/vendor/bundle/ruby/2.1.0/cache/sunspot_rails-2.1.1.gem上读取gem。它可能已损坏。

恢复使用非NFS synced_folder可以解决问题,让我相信这是一个权限问题。不幸的是,性能损失需要使用NFS。

还有其他人遇到过这个吗?有解决方案吗?

主机是OS X 10.9.2,来宾是Ubuntu Precise 64。

我的流浪文件如下所示:

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

  config.vm.box = "precise64"
  config.vm.box_url = "http://files.vagrantup.com/precise64.box"

  config.vm.provider :virtualbox do |virtualbox|

    virtualbox.name = "beatroot-development"
    virtualbox.memory = 3072
    virtualbox.cpus = 4

  end

  # Provision dependencies from shell
  config.vm.provision :sprinkle do |sprinkle|

    sprinkle.script = "provisioning/bootstrap_vagrant.rb"
    sprinkle.cloud = true
    sprinkle.verbose = true

  end

  # Forward port to Unicorn
  config.vm.network :forwarded_port, host: 5009, guest: 5009

  # Create a private network to allow for NFS mounting
  config.vm.network :private_network, ip: "192.168.50.50"

  # Mount our app in the VM
  # We use NFS for performance gain
  config.vm.synced_folder "./", "/var/applications/beatroot", nfs: true

end

0 个答案:

没有答案