Le problème est que mon répertoire personnel est situé sur un serveur distant et que ~/.vagrant.d est assis sur ce serveur, les performances de vagrant diminuent fortement (et la taille de la sauvegarde du serveur de fichiers augmente).
Donc, y a-t-il un moyen de déplacer au moins ~/vagrant.d/boxes du répertoire de base?
À votre santé.
Par défaut, Vagrant utilise ~/.vagrant.d
. Heureusement, vagrant fournit une variable d’environnement appelée VAGRANT_HOME
à l’aide de laquelle vous pouvez définir vaguel home.
Il suffit de faire ce qui suit pour changer la maison du vagabond (cela ne fonctionne que dans la session en cours)
export VAGRANT_HOME=/path/to/vagrant
Pour le rendre permanent, ajoutez ceci à votre ~/.bash_profile
(pour le shell de connexion).
Update: VAGRANT_HOME
a été ajouté à la documentation - Variables d'environnement
VAGRANT_HOME
peut être configuré pour changer le répertoire dans lequel Vagrant stocke l'état global. Par défaut, il est défini sur~/.vagrant.d
. Le répertoire personnel de Vagrant est l'endroit où sont stockées des choses telles que les boîtes, de sorte qu'il peut devenir assez volumineux sur le disque.
VAGRANT_HOME
ne fonctionne pas bien dans Windows 8.1. Cela a fonctionné pour moi quand j'ai changé le fichier
D:\HashiCorp\Vagrant\embedded\gems\gems\vagrant-1.5.3\lib\vagrant\environment.rb
à la ligne 117 pour
@home_path = Util::Platform.fs_real_path("D:/vagrant/home/")
comme Steve H a dit et ça marche bien.
Il peut être utile de le définir de manière permanente sur une machine Windows en exécutant
setx VAGRANT_HOME "/d/.vagrant.d/"
Sous Windows, changez la ligne 17 de environment.rb située à l’adresse:
vagrant\embedded\gems\gems\vagrant-1.x.x.dev\lib\vagrant\environment.rb
un autre emplacement (l'emplacement racine où sont lues les variables ENV) se trouve dans shared_helpers.rb, ligne 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
Quoi qu'il en soit, je pense que le meilleur moyen consiste à utiliser la variable d'environnement VAGRANT_HOME, en cas de mise à niveau de version vagabonde.
Vous pouvez utiliser cette fonction comme:
disk_path = self.user_data_path().to_s
Pour les utilisateurs Windows, définissez la variable d'environnement VAGRANT_HOME
sur le nouvel emplacement. Vous devrez peut-être redémarrer votre PC pour qu'il prenne effet.