web-dev-qa-db-ja.com

ホームフォルダー外のvagrant.d

ホームディレクトリが実際にリモートサーバーにあり、そのサーバーに〜/ .vagrant.dが置かれていると、vagrantのパフォーマンスが大幅に低下する(およびファイルサーバーのバックアップサイズが増加する)という問題があります。

少なくとも〜/ vagrant.d/boxesをホームディレクトリから移動する方法はありますか?

乾杯。

76
pagid

デフォルトでは、Vagrantは~/.vagrant.dを使用します。幸いなことに、vagrantはVAGRANT_HOMEと呼ばれる環境変数を提供します。これにより、vagrantのホームを設定できます。

放浪者の家を変更するには、次の手順を実行します(これは現在のセッションでのみ機能します)

export VAGRANT_HOME=/path/to/vagrant

永続的にするには、これを~/.bash_profile(ログインシェル用)に追加します。

UpdateVAGRANT_HOMEがドキュメントに追加されました- 環境変数

VAGRANT_HOMEを設定して、Vagrantがグローバル状態を保存するディレクトリを変更できます。デフォルトでは、これは~/.vagrant.dに設定されています。 Vagrantのホームディレクトリは、ボックスなどが格納される場所であるため、実際にはディスク上で非常に大きくなる可能性があります。

115
Terry Wang

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が言ったように、うまく動作します。

15
Awesome

次のコマンドを実行して、Windowsボックスで永続的に設定すると便利な場合があります。

setx VAGRANT_HOME "/d/.vagrant.d/"
12
ivica

Windowsでは、environment.rbの17行目を次の場所に変更します。
vagrant\embedded\gems\gems\vagrant-1.x.x.dev\lib\vagrant\environment.rb

5
Storsey

別の場所(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
2
Christophe

Windowsユーザーの場合、環境変数VAGRANT_HOME新しい場所に。 PCを有効にするには、PCの再起動が必要になる場合があります。

0
Dalton Tan