I\'ve the problem that my home directory is actually located on a remote server and with ~/.vagrant.d sitting on that server, the performance of vagrant decreases heavily (a
Set of VAGRANT_DOTFILE_PATH
environmental variable helped me on Windows machine. VAGRANT_HOME
didn't work out.
For Windows users, set the environment variable VAGRANT_HOME
to the new location. You might need to restart your PC for it to take effect.
It might be useful to permanently set this on a Windows box by executing
setx VAGRANT_HOME "/d/.vagrant.d/"
On Windows change line 17 of environment.rb located at:
vagrant\embedded\gems\gems\vagrant-1.x.x.dev\lib\vagrant\environment.rb
an other place (the root place where it read ENV variables) is in shared_helpers.rb, line 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
Anyway, I think the best way is to use the environment variable VAGRANT_HOME, in case of vagrant version upgrade.
You can use this function like:
disk_path = self.user_data_path().to_s
VAGRANT_HOME
does not work well in my Windows 8.1. It worked for me when I changed the file
D:\HashiCorp\Vagrant\embedded\gems\gems\vagrant-1.5.3\lib\vagrant\environment.rb
on line 117 to
@home_path = Util::Platform.fs_real_path("D:/vagrant/home/")
like Steve H said and it works fine.