Vagrant Error: symlink has no referent

Vagrant Error: symlink has no referent

我正在与旧的 bug/error 作斗争,我列出了很多可能的解决方案,但对我来说没有结果。 我有一个 Virtual Box 和 Vagrantfile:

Vagrant.configure("2") do |config|
  config.vm.box = "debian/jessie64"
  config.vm.network "private_network", ip: "192.168.56.101"
  config.vm.synced_folder "../mysite.local", "/code/mysite.local", type: "virtualbox"
  config.vm.provider "virtualbox" do |vb|
  vb.memory = "2048"
  end
end

在我创建符号链接文件夹之前一切正常。所以当我输入 vagrant up 时它会抛出一个错误:

==> default: Checking if box 'debian/jessie64' is up to date...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
default: Adapter 2: hostonly
==> default: Forwarding ports...
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
==> default: Machine booted and ready!
[default] GuestAdditions 5.1.31 running --- OK.
==> default: Checking for guest additions in VM...
==> default: Configuring and enabling network interfaces...
==> default: Rsyncing folder: /Users/user/code/sandbox/mysite.local/ => /vagrant
There was an error when attempting to rsync a synced folder.
Please inspect the error message below for more info.

Host path: /Users/user/code/sandbox/mysite.local/
Guest path: /vagrant
Command: "rsync" "--verbose" "--archive" "--delete" "-z" "--copy-links" "--no-owner" "--no-group" "--rsync-path" "sudo rsync" "-e" "ssh -p 2222 -o LogLevel=FATAL  -o ControlMaster=auto -o ControlPath=/var/folders/kh/sp8l6c0d1s3_jqkv6cv2jzlw0000gn/T/ssh.832 -o ControlPersist=10m  -o IdentitiesOnly=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i '/Users/user/code/sandbox/mysite.local/.vagrant/machines/default/virtualbox/private_key'" "--exclude" ".vagrant/" "/Users/user/code/sandbox/mysite.local/" "vagrant@127.0.0.1:/vagrant"
Error: symlink has no referent: 
"/Users/user/code/sandbox/mysite.local/web"
rsync error: some files could not be transferred (code 23) at 
/BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-
52/rsync/main.c(996) [sender=2.6.9]

我需要做什么来解决这个问题?

您的符号链接已损坏 /Users/user/code/sandbox/mysite.local/web,因此 rsync 无法将其复制到您的 VM。在 运行 vagrant up:

之前修复你的符号链接或将其移走
cd /Users/user/code/sandbox/mysite.local
mv  web ../

因此,删除损坏的 link 并不是该问题的最佳解决方案。默认情况下 - "home" 同步目录是 /vagrant。我制作了另一个同步文件夹。这是他们之间的冲突。

config.vm.synced_folder ".", "/vagrant", disabled: true

将这些行添加到我的 Vagrantfile 后,错误消失了。