Vagrant Rails 共享文件夹捆绑程序错误

Vagrant Rails shared folder bundler error

我正在尝试将我的开发环境从我的本地机器转移到 vagrant。我设置了 vagrant Ubuntu 14.04 amd64 盒子。我安装了 RVM、ruby、mysql 以及 rails 开发环境的许多其他要求。

最后我进入 rails 根目录(与 Windows 7 主机共享)和 运行 "bundle install",我得到错误:

..
Resolving dependencies.....
Installing rake 10.1.1

Errno::EPERM: Operation not permitted @ rb_sysopen - /vagrant/bin /rake
An error occurred while installing rake (10.1.1), and Bundler cannot continue.
Make sure that `gem install rake -v '10.1.1'` succeeds before bundling.
..

我有 rails 3.2.17、ruby 2.2.1 和捆绑器 1.9.1。 我尝试了很多不同的东西,比如 chown /vagrant,用 777 mount_options 重新挂载,bundle install --path .bundle 等等,但是 none 有效。

帮帮我!

顺便说一句,这是 "bundle install --verbose"

的结果
..
Resolving dependencies.....
Using rake 10.1.1
0:  rake (10.1.1) from /vagrant/.bundle/ruby/2.2.0/specifications/rake-10.1.1.gemspec

Errno::EPERM: Operation not permitted @ rb_sysopen - /vagrant/bin /rake
/home/vagrant/.rvm/gems/ruby-2.2.1@global/gems/bundler-1.9.1/lib/bundler/installer.rb:175:in `initialize'
/home/vagrant/.rvm/gems/ruby-2.2.1@global/gems/bundler-1.9.1/lib/bundler/installer.rb:175:in `open'
/home/vagrant/.rvm/gems/ruby-2.2.1@global/gems/bundler-1.9.1/lib/bundler/installer.rb:175:in `block in generate_bundler_executable_stubs'
/home/vagrant/.rvm/gems/ruby-2.2.1@global/gems/bundler-1.9.1/lib/bundler/installer.rb:166:in `each'
/home/vagrant/.rvm/gems/ruby-2.2.1@global/gems/bundler-1.9.1/lib/bundler/installer.rb:166:in `generate_bundler_executable_stubs'
/home/vagrant/.rvm/gems/ruby-2.2.1@global/gems/bundler-1.9.1/lib/bundler/installer.rb:117:in `install_gem_from_spec'
/home/vagrant/.rvm/gems/ruby-2.2.1@global/gems/bundler-1.9.1/lib/bundler/installer.rb:263:in `block in install_sequentially'
..

我终于找到了解决办法。我认为这是捆绑器中的一个错误。 Bundler 将 "BUNDLE_BIN" 变量设置为 'bin '(注意额外的 space),这会导致 ruby 代码 "File.open(binstub_path .." 抛出错误,因为 ruby 不能打开“/vagrant/bin /rake”(注意额外的 space)。

在我编辑“.bundle/config”文件并将 BUNDLE_BIN 设置为 'bin'(删除 space)后,"bundle install" 工作正常。