Errore vagante: NFS segnala che il tuo file di esportazione non è valido


95

Sto cercando di impostare l'ambiente di sviluppo Discourse utilizzando queste istruzioni . Tuttavia, quando eseguo Vagrant ottengo l'errore:

NFS segnala che il tuo file di esportazione non è valido. Vagrant esegue questo controllo prima di apportare modifiche al file. Correggi i problemi seguenti ed esegui "ricarica vagabonda":

Impossibile aprire / etc / export

Ho controllato e non ho una cartella etc / export, quindi ne ho creata una ed ho eseguito vagrant reload . Questo mi ha fatto:

/Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/hosts/bsd/host.rb:146:in read': Is a directory - /etc/exports (Errno::EISDIR) from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/hosts/bsd/host.rb:146:innfs_prune' dal /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/ plugins / synced_folders / nfs / synced_folder.rb: 68: in cleanup' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/synced_folder_cleanup.rb:24:inblocco in chiamata 'da /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/synced_folder_cleanup.rb:22:in each_key' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/synced_folder_cleanup.rb:22:inchiama "from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:in call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/providers/virtualbox/action/prepare_nfs_valid_ids.rb:12:incall" da /Applications/Vagrant/embedded/gems/gems/vagrant-1.4 .1 / lib / vagrant / action / warden.rb: 34: in call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/handle_forwarded_port_collisions.rb:118:incall 'from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:incall' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/providers/virtualbox/action/prepare_forwarded_port_collision_params.rb:30:inchiama "from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:in call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/env_set.rb:19:incall" da /Applications/Vagrant/embedded/gems/gems/vagrant-1.4 .1 / lib / vagrant / action / warden.rb: 34: in call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/provision.rb:52:incall 'from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:incall' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/providers/virtualbox/action/clear_forwarded_ports.rb:13:in call 'from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:in call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/providers/virtualbox/action/set_name.rb:19:incall' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4. 1 / lib / vagrant / action / warden.rb: 34: in call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/providers/virtualbox/action/clean_machine_folder.rb:17:incall 'from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:in call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/providers/virtualbox/action/check_accessible.rb:18:incall' da /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:incall' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:95:inblock in finalize_action 'da /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:in call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:incall' from / Applications / Vagrant / embedded / gems / gems / vagrant -1.4.1 / lib / vagrant / action / builder.rb: 116: in call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:inblock in run 'da /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/util/busy.rb: 19: in busy' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:inrun 'from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/call.rb:51:in call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:incall' from / Applications / Vagrant / embedded / gems / gems / vagrant-1.4.1 / lib / vagrant / action / warden.rb: 95: in block in finalize_action' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:incall 'da /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb : 34: incall' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builder.rb:116:inchiama "from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:in block in run' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/util/busy.rb:19:inbusy" da /Applications/Vagrant/embedded/gems/gems/vagrant-1.4 .1 / lib / vagrant / action / runner.rb: 69: in run' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/call.rb:51:incall 'from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:in call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:95:inblock in finalize_action 'da /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:in call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:incall' da / Applications / Vagrant / embedded / gems / gems / vagrant- 1.4.1 / lib / vagrant / action / builder.rb: 116: in call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:inblocco in esecuzione 'da /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/util/busy.rb:19 :nelbusy' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:in run 'da /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/call.rb:51 :nelcall' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:in call' da / Applications / Vagrant / embedded / gems / gems / vagrant -1.4.1 / lib / vagrant / action / builtin / config_validate.rb: 25: in call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:incall 'da /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/providers/virtualbox/action/check_virtualbox. rb: 17: in call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:incall 'from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/call.rb:57:in call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:incall' from / Applications / Vagrant / embedded / gems / gems / vagrant-1.4.1 / plugins / providers / virtualbox / action / check_virtualbox.rb: 17: in call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:incall 'from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action /builtin/config_validate.rb:25:incall' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:inchiama "from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:95:in call" da /Applications/Vagrant/embedded/gems/gems/vagrant-1.4 .1 / lib / vagrant / action / runner.rb: 69: in busy 'da /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:in chiamata 'from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:in call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4. 1 / lib / vagrant / action / warden.rb: 34: in call 'from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:in busy' da /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:inblock in finalize_action' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:in call" da /Applications/Vagrant/embedded/gems/gems/vagrant-1.4 .1 / lib / vagrant / action / warden.rb: 34: incall' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builder.rb:116:inblock in run' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/util/busy.rb:19:inrun' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/call.rb:51:incall' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/providers/virtualbox/action/check_virtualbox.rb:17:incall' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builder.rb:116:inblock in run' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/util/busy.rb:19:inrun' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/machine.rb:147:in action' da /Applications/Vagrant/embedded/gems/gems/vagrant-1.4 .1 / plugins / commands / reload / command.rb: 37: nel block in execute' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/plugin/v2/command.rb:193:inblocco in with_target_vms 'da /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/plugin/v2/command.rb: 191: in each' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/plugin/v2/command.rb:191:inwith_target_vms 'from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/commands/reload/command.rb:36:in execute' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/cli.rb:38:inexecute' from / Applications / Vagrant / embedded / gems / gems / vagrant-1.4.1 / lib / vagrant / environment.rb: 484: in cli' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/bin/vagrant:127:in"from /Applications/Vagrant/bin/../embedded/gems/bin/vagrant:23:in load' from /Applications/Vagrant/bin/../embedded/gems/bin/vagrant:23:in"

Sono su un Mac (OS X 10.6.8). Come lo risolvo? Ho provato a cercare il messaggio di errore originale e tutto quello che ho trovato sono stati alcuni repository contenenti il ​​codice sorgente di Vagrant che lo lancia.

Risposte:


-32

Prova a utilizzare le buone versioni note di VirtualBox e Vagrant indicate in Discorso come la tua prima app Rails :

Ho riscontrato lo stesso problema su Mac (OS X 10.9 (Mavericks)), ma tornare a queste versioni sembrava risolverlo per me.


Grazie, sto ancora terminando i prossimi passaggi di installazione, ma sembra che abbia funzionato.
Hunter

3
Il downgrade non è richiesto. Hai solo bisogno di correre sudo touch /etc/exports. Vedi la risposta di colinhoernig . Inoltre, ho appena aggiornato la mia installazione vagabonda alla v1.4.3 e VirtualBox alla v4.3.8 e questo sembrava risolvere il mio problema.
ciambella

5
questa è una risposta fuorviante. si prega di selezionare la risposta del colinhoemig in quanto è molto più utile!
enjalot

3
La risposta non è costruttiva e fuorviante. Mi chiedo come sia contrassegnato come corretto. La risposta corretta è quella di @colinhoernig che è stata votata più di 50 volte. Affinché l'errore venga risolto. È necessario correggere il file / etc / export. Quindi costruisci di nuovo.
Alexandros Spyropoulos

1
Quando si costruisce un progetto con dipendenze documentate per la prima volta, è utile utilizzare le versioni esatte che si sa funzionano, solo perché c'è una soluzione per questo problema esatto non significa che non si imbatterà in altri non documentati incompatibilità ...
Lockyer

331

Avevo alcune immagini / scatole precedenti installate nella mia installazione di VirtualBox, quindi c'erano già alcune voci non valide /etc/exports. Quindi ho dovuto ripulire quel file e riavviare la mia scatola Vagrant.

NFS is reporting that your exports file is invalid. Vagrant does
this check before making any changes to the file. Please correct
the issues below and execute "vagrant reload":

Ecco cosa ho fatto sulla mia macchina host:

sudo rm /etc/exports
sudo touch /etc/exports

vagrant halt
vagrant up --provision

9
Questo era il più applicabile, poiché avevo due scatole vagabonde che montavano la stessa cartella. Si sono confusi!
wulftone

32
oppure invece di eliminare tutto, rimuovi semplicemente tutte quelle righe relative a quelle VM che non ci sono più.
Alejandro Moreno

2
Ho riscontrato questo problema dopo aver rinominato il nome della directory del progetto. Grazie! :)
Radu

4
Può valere la pena ricordare che questo comando deve essere eseguito sulla macchina host. Poiché da vagrant box è effettivamente avviato, ho potuto accedere ad esso, ma non sono riuscito a trovare il file / etc / export. Perché è sulla macchina host.
chuwy

4
Non sono sicuro che il --provisionflag sia necessario nell'ultimo comando, poiché in genere NFS è montato upanziché al momento del provisioning. Potrebbe essere necessario nella tua configurazione, ma questi passaggi hanno funzionato per me senza quella bandiera.
acobster

79

Ho riscontrato questo problema con Vagrant 1.4.1 e VirtualBox 4.3.6 su OS X 10.9 Mavericks (13A603). Sono stato in grado di risolverlo con un semplice comando per creare il file / etc / export mancante. Eseguilo su OS X, non come ospite, come sottolineato nei commenti qui sotto.

$ sudo touch /etc/exports

Sono stato quindi in grado di eseguire con successo vagrant up. Mi sono imbattuto in un altro errore in cui le Aggiunte Ospite non erano aggiornate, ma ho risolto il problema installando il plugin vagrant-vbguest.

$ vagrant plugin install vagrant-vbguest

e poi un veloce vagrant reloaded ero attivo e funzionante!


4
Suggerimento molto buono, questo deve essere fatto sull'host Mac ... Non sull'ospite come ho provato per la prima volta
Ramzi

Grazie @Ramzi, ho modificato l'originale per chiarire.
colinhoernig

Ho dovuto usare sudo rm -rf / etc / export su linux in quanto è una cartella
timhc22

5
Ho anche dovuto modificare il mio file / etc / export perché aveva più voci che creavano confusione.
enjalot

Ho dovuto eliminare il contenuto del mio file di esportazione
David

23

Per me, questo errore ha iniziato a comparire per un ambiente Vagrant funzionante.

Avevo rinominato la directory da cui stava scappando Vagrant. Per risolverlo, ho eseguito "sudo vi / etc / export" e ho corretto il percorso in modo che puntasse alla mia directory corrente.


9

La stessa cosa è successa a me. Ho copiato il mio Vagrantfile da un altro progetto e ho dimenticato di modificare le impostazioni NFS. Ciò ha causato il montaggio della VM corrente nella cartella principale della VM da cui ho copiato il file Vagrant originale. Quindi ho fatto questo:

vagrant halt
vagrant up

Ho ancora lo stesso errore. Quindi ho rintracciato il mio file di esportazione situato in / etc / export che assomiglia a questo:

# VAGRANT-BEGIN: 501 64e10d4d-342e-4f55-b69a-97edda35742f
"/Users/[username]/vagrant" 192.168.11.12 -alldirs -mapall=501:20
# VAGRANT-END: 501 64e10d4d-342e-4f55-b69a-97edda35742f
# VAGRANT-BEGIN: 501 b3c6e7fe-95d4-48db-8876-c89d3e07af8d
"/Users/[username]/Sites/molitech-oms" 192.168.11.124 -alldirs -mapall=501:20
# VAGRANT-END: 501 b3c6e7fe-95d4-48db-8876-c89d3e07af8d
# VAGRANT-BEGIN: 501 3e2aabfd-ce63-441b-85a2-1b51e8beb863
"/Users/[username]/Sites/app" 192.168.11.125 -alldirs -mapall=501:20
# VAGRANT-END: 501 3e2aabfd-ce63-441b-85a2-1b51e8beb863
# VAGRANT-BEGIN: 501 ff92e353-9f6d-48ee-9d76-e29b33f1dd60
"/Users/[username]/Sites" 192.168.11.126 -alldirs -mapall=501:20
# VAGRANT-END: 501 ff92e353-9f6d-48ee-9d76-e29b33f1dd60

Gli ultimi due percorsi sono gli stessi. Quindi ho cancellato le ultime tre righe e ho eseguito:

vagrant halt && vagrant up

Ora sembra che tutto funzioni bene.

OSX 10.11.1 Vagrant 1.7.4


8

Non volevo passare attraverso il fastidio del downgrade. Questo è quello che ho fatto (ci è voluto ancora un po ', ma meno problemi rispetto al downgrade IMHO):

  1. Nella VM Vagrantfile, per qualsiasi cartella sincronizzata, disabilitare NFS

    config.vm.synced_folder ".", "/vagrant", nfs: false

  2. / Etc / export rimosso

    sudo mv /etc/exports ~/Desktop/exports

  3. Riscrivi / etc / export

    vagrant up

  4. Riattiva NFS se vuoi / ne hai bisogno abilitato sulla tua VM

    config.vm.synced_folder ".", "/vagrant", nfs: true


4

Basta eseguire i seguenti comandi:

sudo rm /etc/exports
sudo touch /etc/exports
vagrant reload

Da NON usare vagrant up --provisionse non si è certi che lo farà non sovrascrive lo stato attuale del progetto.


0

Sull'host Ubuntu 12 / guest Ubuntu 12 per me ha funzionato quanto segue con Discourse :

nfs_setting = RUBY_PLATFORM =~ /darwin/ || RUBY_PLATFORM =~ /linux/
config.vm.synced_folder ".", "/vagrant", id: "vagrant-root", type: "nfs", nfs_udp: "true", nfs_version: "4", :nfs => nfs_setting

Nota: ho anche dovuto aggiungere un indirizzo IP host determinato da Vagrant e un indirizzo IP guest determinato da Vagrant alle eccezioni del firewall.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.