내 홈 디렉토리가 실제로 원격 서버에 있고 ~ / .vagrant.d가 해당 서버에 있으면 vagrant의 성능이 크게 감소하고 파일 서버 백업 크기가 증가한다는 문제가 있습니다.
그래서 적어도 ~ / vagrant.d / boxes를 홈 디렉토리에서 옮길 수있는 방법이 있습니까?
건배.
답변:
기본적으로 Vagrant는 ~/.vagrant.d
. 다행히 vagrant는 다음과 같은 환경 변수를 제공합니다.VAGRANT_HOME
vagrant home을 설정할 수있는 .
방랑자 집을 변경하려면 다음을 수행하십시오 (현재 세션에서만 작동 함).
export VAGRANT_HOME=/path/to/vagrant
영구적으로 만들려면 이것을 ~/.bash_profile
로그인 쉘에 추가하십시오 .
업데이트 : VAGRANT_HOME
문서에 추가되었습니다- 환경 변수
VAGRANT_HOME
Vagrant가 글로벌 상태를 저장하는 디렉토리를 변경하도록 설정할 수 있습니다. 기본적으로이 값은로 설정됩니다~/.vagrant.d
. Vagrant 홈 디렉토리는 상자와 같은 항목이 저장되는 곳이므로 실제로 디스크에서 상당히 커질 수 있습니다.
~/.bash_profile
또는 ZSH를 사용하는 경우 ~/.zshrc
등에서) 작성하십시오 export
. env
명령 줄 에서로 설정되어 있는지 확인하십시오 . virtualbox를 제공자로 사용하는 경우 기본 경로에 대한 GUI 설정도 있습니다.
VAGRANT_HOME
Windows 8.1에서 잘 작동하지 않습니다. 파일을 변경했을 때 저에게 효과적이었습니다.
D : \ HashiCorp \ Vagrant \ embedded \ gems \ gems \ vagrant-1.5.3 \ lib \ vagrant \ environment.rb
117 번 라인에
@home_path = Util::Platform.fs_real_path("D:/vagrant/home/")
Steve H가 말한 것처럼 잘 작동합니다.
VAGRANT_HOME=d:\my\alternative\path
. 환경 변수를 만든 후 (예를 들어 콘솔을 닫고 다시 시작하여) 환경을 다시로드하지 않은 것 같습니다.
Windows 상자에서 다음을 실행하여 영구적으로 설정하는 것이 유용 할 수 있습니다.
setx VAGRANT_HOME "/d/.vagrant.d/"
C:\Windows\System32
바와 같이, C:\Windows\System32
온 일반적이다 %path%
.
Windows에서
vagrant \ embedded \ gems \ gems \ vagrant-1.xxdev \ lib \ vagrant \ environment.rb에있는 environment.rb의 17 행을 변경하십시오.
다른 위치 (ENV 변수를 읽는 루트 위치)는 shared_helpers.rb, 71 행 (vagrant v 1.6.5)에 있습니다.
# This returns the path to the ~/.vagrant.d folder where Vagrant's
# per-user state is stored.
#
# @return [Pathname]
def self.user_data_path
# Use user spcified env var if available
path = ENV["VAGRANT_HOME"]
# On Windows, we default to the USERPROFILE directory if it
# is available. This is more compatible with Cygwin and sharing
# the home directory across shells.
if !path && ENV["USERPROFILE"]
path = "#{ENV["USERPROFILE"]}/.vagrant.d"
end
# Fallback to the default
path ||= "~/.vagrant.d"
Pathname.new(path).expand_path
end
어쨌든 방랑 버전 업그레이드의 경우 환경 변수 VAGRANT_HOME을 사용하는 것이 가장 좋은 방법이라고 생각합니다.
이 기능을 다음과 같이 사용할 수 있습니다.
disk_path = self.user_data_path().to_s
Vagrant::user_data_path().to_s
.