簡體   English   中英

主文件夾外的 vagrant.d

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM