89 votes

vagrant.d en dehors du dossier de départ

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é.

128voto

Terry Wang Points 5117

Par défaut, l'Errance des utilisations ~/.vagrant.d. Heureusement, vagrant fournit une variable d'environnement appelée VAGRANT_HOME par laquelle vous pouvez définir un vagabond à la maison.

Il suffit de faire la modification suivante à l'errance à la maison (ceci fonctionne uniquement dans la session en cours)

export VAGRANT_HOME=/path/to/vagrant

Pour le rendre permanent, ajoutez ceci à votre ~/.bash_profile (login shell).

Mise à jour: VAGRANT_HOME a été ajouté à la documentation - les Variables d'Environnement

VAGRANT_HOME peut être réglé pour changer le répertoire où Les magasins de l'état global. Par défaut, il est défini à l' ~/.vagrant.d. Le Vagabond répertoire de base est là que les choses comme les boîtes sont stockés, de sorte qu'il peut effectivement devenir très volumineux sur le disque.

16voto

Awesome Points 1

VAGRANT_HOME ne fonctionne pas bien sous 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.

5voto

Steve H Points 66

Sous Windows, changez la ligne 17 de environment.rb située à l'adresse suivante:
vagrant \ embedded \ gems \ gems \ vagrant-1.xxdev \ lib \ vagrant \ environment.rb

2voto

Christophe Points 11

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
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X