4

我使用 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

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

我已经设置了 sudo chmod 777 -R 1vagrant/
但它仍然不起作用。

发生什么事?

4

2 回答 2

7

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

VBoxManage setextradata VM_NAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARE_NAME 1

您可以在 Vagrant 的上下文中执行此操作,方法是将其添加到Vagrant::Config.runVagrantfile 的块中:

config.vm.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARE_NAME", "1"]

更多信息可以在VirtualBox 错误 #10085中找到。

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

于 2012-03-09T13:42:40.557 回答
3

Vagrant gem 的作者官方回答:

不幸的是,VirtualBox 共享文件夹文件系统不允许符号链接。

您唯一的选择是部署在共享文件夹之外。

https://github.com/mitchellh/vagrant/issues/713

于 2012-02-06T16:09:13.937 回答