Vagrant를 사용하여 팀에 공통 개발 환경을 제공하고 싶습니다. 호스트는 완전히 다릅니다 :Vagrant의 심볼릭 링크 및 동기화 된 폴더
- 일부는 OS X, 일부 Linux 및 일부 Windows를 사용합니다.
- 일부는 VMware를 사용하고 일부는 VirtualBox를 사용합니다.
VM 내부에서 Linux를 실행하고 싶습니다.
지금까지 모든 것이 좋습니다.
이제 우리는 각 개발자가 원하는 IDE를 사용할 수 있어야하므로 호스트와 VM간에 소스 코드를 공유하는 동기화 된 폴더를 도입했습니다. 이것은 기본적으로 잘 작동합니다 ... 심볼릭 링크를 제외하고.
우리의 소스 코드에는 실제로 몇 가지 심볼릭 링크가 있습니다. 이것은 VM 내부의 Linux에서는 문제가 아니지만 Windows에서는 호스트로 인해 문제가 발생합니다. 우리가 할 수있는 유일한 것은 이 아니고은 상징적 인 링크를 없애기 때문에 이것을 처리 할 다른 방법이 필요합니다.
지금까지, 우리는 옵션을 시도 :
- 은 방랑의 issue에 언급 된 해결 방법은, 불행하게도이 버추얼 전용이며, VM웨어를 실행하는 사람들을 도움이되지 않습니다. 지금까지 사용 된 공급자에 따라 Vagrantfile에 코드를 실행하는 방법을 찾지 못했습니다.
- 이제 표준 공유 폴더를 사용하는 대신 rsync 유형을 사용해 보았습니다. 이것은 Windows에서 작동하지만, OS X에서 오류가 발생하여
symlink has no referent
(심볼릭 링크 당 하나의 오류)이 발생한다는 것을 알리는 오류가 발생합니다. - NFS에 대해 생각했지만 Windows를 호스트로 사용하지 않는 경우에만 작동합니다.
- 약 SMB이지만 Windows에서는 호스트로만 작동합니다.
우리는이 행성에서 유일하게 또는 처음으로 공유 폴더 내의 다중 플랫폼 호스트 및 심볼 링크에 문제가 있음을 알 수 없습니다.
어떻게 심볼릭 링크를 유지할 수 있지만 여전히 다른 호스트 운영 체제를 사용할 수 있도록이 문제를 해결할 수 있습니까?
여기에서 토론 : https://github.com/mitchellh/vagrant/issues/713#issuecomment-4416384 –
@SteveBennett, 해당 문제 (현재 승인 된 답변 참조)는 15 개월 내에 릴리스 된 Vagrant 1.1에서 해결되었습니다. OP가 질문을 게시하기 전에. 어쨌든 VirtualBox 공유 폴더에 관한 것이지 rsync'd 폴더가 아닙니다. 아래의 내 대답을보십시오 (대답이 잘못되었습니다). – jdunk