我的问题是,我的主目录实际上位于远程服务器上,并且在〜/ .vagrant.d坐在该服务器上,vagrant的性能大大降低服务器备份大小增加)。vagrant.d在主文件夹之外
那么有什么办法可以将至少〜/ vagrant.d/box移出主目录吗?
干杯。
我的问题是,我的主目录实际上位于远程服务器上,并且在〜/ .vagrant.d坐在该服务器上,vagrant的性能大大降低服务器备份大小增加)。vagrant.d在主文件夹之外
那么有什么办法可以将至少〜/ vagrant.d/box移出主目录吗?
干杯。
默认情况下,Vagrant使用~/.vagrant.d
。幸运的是,流浪者提供了一个称为VAGRANT_HOME
的环境变量,您可以通过该变量设置流浪家。
只要做到以下改变流浪汉的家(在当前会话这只作品)
export VAGRANT_HOME=/path/to/vagrant
要使其永久,添加到您的~/.bash_profile
(用于登录shell)。
更新:VAGRANT_HOME
已添加到文档 - Environmental Variables
VAGRANT_HOME
可以设置来改变目录,流浪店全局状态。默认情况下,它被设置为~/.vagrant.d
。 Vagrant主目录是存储盒子等东西的地方,所以它实际上可以在磁盘上变得非常大。
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说,它工作正常。
如果您使用Windows本地路径记得要转义反斜杠(这让我感到困惑)。即“D:\\ vagrant \\ home” – Guerrilla
的其他地方(在那里读ENV变量根的地方)在shared_helpers.rb,行71(流浪者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文件中工作为'Vagrant :: user_data_path()。to_s'。 –
其实我发现,VAGRANT_HOME必须设置,而且它可能是通过执行
setx VAGRANT_HOME "/d/.vagrant.d/"
您必须从setx应用程序所在的路径运行它。最常见的路径是:C:\ Windows \ System32 – versedi
永久设置这在Windows中有用属性“machinefolder”在VirtualBox中必须通过“VBoxManage setproperty machinefolder”__ 感谢提示 –
pagid
感谢这篇文章! – Robert
我的个人发现:当使环境变量永久化(在'〜/ .bash_profile'中,或者在'〜/ .zshrc'中使用ZSH等等)时,确保你也编写'export'。检查它是否在命令行中用'env'设置。将virtualbox用作提供程序时,GUI中还有一个默认路径设置。 – Urs