[英]Issue using Vagrant SSH when vagrant.d folder is on an external exFAT drive
[英]vagrant.d outside of the home folder
我的問題是我的主目錄實際上位於遠程服務器上,並且 ~/.vagrant.d 位於該服務器上,vagrant 的性能嚴重下降(並且文件服務器備份大小增加)。
那么有沒有辦法至少將 ~/vagrant.d/boxes 移出主目錄?
干杯。
默認情況下,Vagrant 使用~/.vagrant.d
。 幸運的是,vagrant 提供了一個名為VAGRANT_HOME
的環境變量,您可以通過它來設置 vagrant home。
只需執行以下操作即可更改 vagrant home(這只適用於當前會話)
export VAGRANT_HOME=/path/to/vagrant
要使其永久化,請將其添加到您的~/.bash_profile
(用於登錄 shell)。
更新: VAGRANT_HOME
已添加到文檔中 -環境變量
可以設置
VAGRANT_HOME
來更改 Vagrant 存儲全局狀態的目錄。 默認情況下,這設置為~/.vagrant.d
。 Vagrant 主目錄是存儲盒子之類的東西的地方,所以它實際上可以在磁盤上變得非常大。
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/")
就像史蒂夫 H 說的,它工作正常。
通過執行在 Windows 機器上永久設置它可能很有用
setx VAGRANT_HOME "/d/.vagrant.d/"
在 Windows 上更改位於 environment.rb 的第 17 行:
vagrant\\embedded\\gems\\gems\\vagrant-1.xxdev\\lib\\vagrant\\environment.rb
另一個地方(它讀取 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,以防 vagrant 版本升級。
您可以使用此功能,例如:
disk_path = self.user_data_path().to_s
對於 Windows 用戶,將環境變量VAGRANT_HOME
設置為新位置。 您可能需要重新啟動 PC 才能生效。
一組VAGRANT_DOTFILE_PATH
環境變量在 Windows 機器上幫助了我。 VAGRANT_HOME
沒有成功。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.