Capistrano在Virtual Machne中部署

its*_*lay 4 virtualbox capistrano ruby-on-rails readonly vagrant

我使用Virtual box + gem Vagrant
一周之前一切正常.
我把包装好了.现在我又用同一个项目部署了这个盒子.

和Capistrano输出错误:

*** [err :: 33.33.33.10] creating symbolic link `/vagrant/demoapp/current/log'
*** [err :: 33.33.33.10] : Read-only file system
Run Code Online (Sandbox Code Playgroud)

https://gist.github.com/1746250(error + deploy.rb)

我已经设置了sudo chmod 777 -R 1vagrant/
但它仍然无法正常工作.

发生什么事?

小智 7

有一种解决方法可以使共享文件夹中的符号链接再次在VirtualBox 4.1.8+上运行.基本上你需要发出这个命令:

VBoxManage setextradata VM_NAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARE_NAME 1
Run Code Online (Sandbox Code Playgroud)

你可以在Vagrant的上下文中将它添加到Vagrant::Config.runVagrantfile 的块中来执行此操作:

config.vm.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARE_NAME", "1"]
Run Code Online (Sandbox Code Playgroud)

有关VirtualBox错误#10085的更多信息.

请注意,分享该setextradata技巧的评论者忘记告诉您密钥名称需要SHARE_NAME.我发现了这个挖掘C代码!