Vagrant.d вне домашней папки
У меня проблема с тем, что мой домашний каталог находится на удаленном сервере и с ~/.vagrant.d сидит на этом сервере, производительность бродяг сильно уменьшается (и размер резервной копии файлового сервера увеличивается).
Итак, есть ли способ передвинуть по крайней мере ~/vagrant.d/коробки из домашнего каталога?
Приветствия.
Ответы
Ответ 1
По умолчанию Vagrant использует ~/.vagrant.d
. К счастью, бродяга предоставляет переменную среды, называемую VAGRANT_HOME
, с помощью которой вы можете установить бродячий дом.
Просто выполните следующие действия, чтобы изменить дом бродяг (это работает только в текущем сеансе)
export VAGRANT_HOME=/path/to/vagrant
Чтобы сделать его постоянным, добавьте его в свой ~/.bash_profile
(для оболочки входа).
Обновление: VAGRANT_HOME
добавлено в документацию - Экологические переменные
VAGRANT_HOME
можно установить для изменения каталога, в котором Vagrant хранит глобальное состояние. По умолчанию установлено значение ~/.vagrant.d
. Домашний каталог Vagrant - это то, где хранятся вещи, такие как ящики, поэтому он может фактически стать довольно большим на диске.
Ответ 2
VAGRANT_HOME
не работает в моей Windows 8.1. Это сработало для меня, когда я изменил файл
D:\HashiCorp\Вагрант\встроенных\драгоценных камни\драгоценных камней\бродячего-1.5.3\Lib\бродячая\environment.rb
в строке 117 на
@home_path = Util::Platform.fs_real_path("D:/vagrant/home/")
как сказал Стив Х, и он отлично работает.
Ответ 3
Возможно, было бы полезно постоянно устанавливать это в окне Windows, выполняя
setx VAGRANT_HOME "/d/.vagrant.d/"
Ответ 4
В Windows измените строку 17 среды .rb, расположенную по адресу:
бродяга\встроенные\драгоценные камни\драгоценные камни\vagrant-1.x.x.dev\Lib\бомж\environment.rb
Ответ 5
другое место (корневое место, где он читает переменные 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