我的问题是我的主目录实际上位于远程服务器上,并且〜/ .vagrant.d位于该服务器上,流浪者的性能大幅下降(并且文件服务器备份大小增加)。
那么有没有办法将〜/ vagrant.d / box移出主目录?
干杯。
答案 0 :(得分:109)
默认情况下,Vagrant使用~/.vagrant.d
。幸运的是,vagrant提供了一个名为VAGRANT_HOME
的环境变量,您可以通过该变量设置vagrant home。
只需执行以下操作即可更改流浪之家(仅适用于当前会话)
export VAGRANT_HOME=/path/to/vagrant
要使其永久化,请将其添加到~/.bash_profile
(对于登录shell)。
更新:VAGRANT_HOME
已添加到文档中 - Environmental Variables
VAGRANT_HOME
可以设置为更改Vagrant存储全局状态的目录。默认情况下,此项设置为~/.vagrant.d
。 Vagrant主目录是存储盒子之类的东西,因此它实际上可以在磁盘上变得非常大。
答案 1 :(得分:14)
VAGRANT_HOME
在我的Windows 8.1中运行不正常。当我更改文件
d:\ HashiCorp \流浪\嵌入\宝石\宝石\流浪-1.5.3 \ lib中\流浪\ environment.rb中
在第117行
@home_path = Util::Platform.fs_real_path("D:/vagrant/home/")
像史蒂夫H说的那样,它运作良好。
答案 2 :(得分:11)
通过执行
在Windows框中永久设置它可能很有用setx VAGRANT_HOME "/d/.vagrant.d/"
答案 3 :(得分:6)
在Windows上更改环境.rb的第17行,位于:
流浪\嵌入\宝石\宝石\ vagrant-1.x.x.dev \ lib中\流浪\ environment.rb中
答案 4 :(得分:2)
另一个地方(它读取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
答案 5 :(得分:0)
对于Windows用户,将环境变量VAGRANT_HOME
设置到新位置。您可能需要重新启动PC才能生效。
答案 6 :(得分:0)
在Windows计算机上,一组VAGRANT_HOME
环境变量对我有所帮助。 (\S+?)(\(((?:(?>[^()]+)|(?2))*)\))
没有解决问题。