Vagrant-Fehler: NFS meldet, dass Ihre Exportdatei ungültig ist

95

Ich versuche, die Discourse-Entwicklungsumgebung mithilfe dieser Anweisungen einzurichten . Wenn ich jedoch Vagrant ausführe, wird folgende Fehlermeldung angezeigt:

NFS meldet, dass Ihre Exportdatei ungültig ist. Vagrant führt diese Überprüfung durch, bevor Änderungen an der Datei vorgenommen werden. Bitte korrigieren Sie die folgenden Probleme und führen Sie "vagrant reload" aus:

/ Etc / export kann nicht geöffnet werden

Ich habe überprüft, und ich habe keinen Ordner etc / export, also habe ich einen erstellt und ausgeführt vagrant reload. Das hat mich dazu gebracht:

/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 'von /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/ plugins / synced_folders / nfs / synced_folder.rb: 68: im cleanup' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/synced_folder_cleanup.rb:24:inBlock im Aufruf 'von /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:inRufen Sie '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' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4 auf .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 'von /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:inRufen Sie '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' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4 auf .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 'von /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/clear_forwarded_ports.rb:13:incall 'von /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' von /Applications/Vagrant/embedded/gems/gems/vagrant-1.4. 1 / lib / vagrant / action / warden.rb: 34: im call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/providers/virtualbox/action/clean_machine_folder.rb:17:inAufruf 'von /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' von /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 'von /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 'von /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 'von /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:inRufen Sie 'von /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:inbeschäftigt' von /Applications/Vagrant/embedded/gems/gems/vagrant-1.4 auf .1 / lib / vagrant / action / running.rb: 69: in run' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/call.rb:51:incall 'von /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 'von /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 'von /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/util/busy.rb:19 :imbusy' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:inFühren Sie '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 aus -1.4.1 / lib / vagrant / action / builtin / config_validate.rb: 25: im call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:inAufruf 'von /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/providers/virtualbox/action/check_virtualbox. rb: 17: im call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:inAnruf 'von /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:inAnruf' von / Applications / Vagrant / embedded / gems / gems / vagrant-1.4.1 / plugins / provider / 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 'von /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:inRufen Sie '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' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4 auf .1 / lib / vagrant / action / warden.rb: 34: in call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builder.rb:116:incall 'von /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:inbeschäftigt 'von /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' von /Applications/Vagrant/embedded/gems/gems/vagrant-1.4. 1 / lib / vagrant / action / warden.rb: 34: im call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/providers/virtualbox/action/check_virtualbox.rb:17:inAufruf 'von /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/builder.rb:116:incall' von /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:inblock in run' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/util/busy.rb:19:inbeschäftigt 'von /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/machine.rb:147:inaction' von /Applications/Vagrant/embedded/gems/gems/vagrant-1.4 .1 / plugins / block in execute' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/plugin/v2/command.rb:193:incommand / reload / command.rb: 37: im Block in with_target_vms 'von /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 'von /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/commands/reload/command.rb:36:in execute execute' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/cli.rb:38:in' 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'

Ich bin auf einem Mac (OS X 10.6.8). Wie behebe ich das? Ich habe versucht, nach der ursprünglichen Fehlermeldung zu suchen, und ich habe nur ein paar Repositorys gefunden, die den Vagrant-Quellcode enthalten, der sie auslöst.

Jäger
quelle

Antworten:

-32

Versuchen Sie, die bekannten guten Versionen von VirtualBox und Vagrant zu verwenden, die im Diskurs als Ihre First Rails-App aufgeführt sind :

Ich hatte das gleiche Problem auf dem Mac (OS X 10.9 (Mavericks)), aber das Zurücksetzen auf diese Versionen schien es für mich zu beheben.

Lockyer
quelle
Danke, ich beende noch die nächsten Installationsschritte, aber es sieht so aus, als hätte das funktioniert.
Hunter
3
Ein Downgrade ist nicht erforderlich. Du musst nur rennen sudo touch /etc/exports. Siehe colinhoernigs Antwort . Außerdem habe ich gerade meine vagabundierende Installation auf v1.4.3 und VirtualBox auf v4.3.8 aktualisiert, und das schien mein Problem zu lösen.
Donut
5
Dies ist eine irreführende Antwort. Bitte wählen Sie die Antwort des Colinhoemig als viel hilfreicher!
Enjalot
3
Die Antwort ist nicht konstruktiv und irreführend. Ich frage mich, wie es als richtig markiert ist. Die richtige Antwort ist die von @colinhoernig, die mehr als 50 Mal gewählt wurde. Damit der Fehler behoben wird. Sie müssen die Datei / etc / exports reparieren. Dann wieder bauen.
Alexandros Spyropoulos
1
Wenn Sie zum ersten Mal ein Projekt mit dokumentierten Abhängigkeiten erstellen, ist es hilfreich, die genauen Versionen zu verwenden, von denen bekannt ist, dass sie funktionieren. Nur weil für dieses eine Problem eine Problemumgehung vorliegt, bedeutet dies nicht, dass er nicht auf andere undokumentierte Probleme stößt Inkompatibilitäten ...
Lockyer
330

Ich hatte einige frühere Images / Boxen in meiner VirtualBox-Installation installiert, daher waren bereits einige ungültige Einträge vorhanden /etc/exports. Also musste ich diese Datei bereinigen und meine Vagrant-Box neu starten.

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":

Folgendes habe ich auf meinem Host-Computer getan:

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

vagrant halt
vagrant up --provision
Totas
quelle
9
Dies war die am besten geeignete, da ich zwei Vagabundkisten hatte, in denen derselbe Ordner montiert war. Sie wurden verwirrt!
Wulftone
32
oder anstatt alle zu löschen, entfernen Sie einfach alle Zeilen, die sich auf die VMs beziehen, die nicht mehr vorhanden sind.
Alejandro Moreno
2
Ich hatte dieses Problem, nachdem ich den Projektverzeichnisnamen umbenannt hatte. Vielen Dank! :)
Radu
4
Es kann erwähnenswert sein, dass dieser Befehl auf dem Host-Computer ausgeführt werden sollte. Da die Vagrant Box tatsächlich gebootet wird, konnte ich mich anmelden, aber die Datei / etc / exports nicht finden. Weil es auf dem Host-Computer ist.
Chuwy
4
Ich bin nicht sicher, ob das --provisionFlag im letzten Befehl erforderlich ist, da NFS normalerweise upnicht zur Bereitstellungszeit bereitgestellt wird . Es kann in Ihrem Setup erforderlich sein, aber diese Schritte haben bei mir ohne dieses Flag funktioniert.
Acobster
79

Ich bin auf dieses Problem mit Vagrant 1.4.1 und VirtualBox 4.3.6 unter OS X 10.9 Mavericks (13A603) gestoßen. Ich konnte es mit einem einfachen Befehl beheben, um die fehlende / etc / export-Datei zu erstellen. Führen Sie dies unter OS X aus, nicht unter Gast, wie in den Kommentaren unten ausgeführt.

$ sudo touch /etc/exports

Ich konnte dann erfolgreich laufen vagrant up. Ich bin auf einen anderen Fehler gestoßen, bei dem die Guest Additions nicht auf dem neuesten Stand waren, aber ich habe dieses Problem behoben, indem ich das vagrant-vbguest-Plugin installiert habe.

$ vagrant plugin install vagrant-vbguest

und dann schnell vagrant reloadund ich war am Laufen!

colinhoernig
quelle
4
Sehr guter Tipp, dies muss auf dem Mac-Host gemacht werden ... Nicht auf dem Gast, wie ich es zuerst versucht habe
Ramzi
Danke @Ramzi, ich habe das Original zur Verdeutlichung bearbeitet.
Colinhoernig
Ich musste sudo rm -rf / etc /
export unter
5
Ich musste auch meine / etc / export-Datei bearbeiten, da sie mehrere Einträge hatte, die vagabundierend verwirrten.
Enjalot
Ich musste den Inhalt meiner
David
23

Für mich trat dieser Fehler in einer funktionierenden Vagrant-Umgebung auf.

Ich hatte das Verzeichnis umbenannt, aus dem Vagrant lief. Um das Problem zu beheben, habe ich 'sudo vi / etc / export' ausgeführt und den Pfadnamen so korrigiert, dass er auf mein aktuelles Verzeichnis verweist.

Kevin G.
quelle
9

Mir geht es genauso. Ich habe meine Vagrant-Datei aus einem anderen Projekt kopiert und vergessen, die NFS-Einstellungen zu ändern. Dies führte dazu, dass die aktuelle VM den übergeordneten Ordner der VM bereitstellte, aus der ich die ursprüngliche Vagrant-Datei kopiert hatte. Also habe ich das gemacht:

vagrant halt
vagrant up

Habe immer noch den gleichen Fehler. Also habe ich meine Exportdatei unter / etc / export aufgespürt, die so aussieht:

# 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

Die letzten beiden Pfade sind gleich. Also habe ich die letzten drei Zeilen gelöscht und bin gelaufen:

vagrant halt && vagrant up

Jetzt scheint alles gut zu funktionieren.

OSX 10.11.1 Vagrant 1.7.4

colefner
quelle
8

Ich wollte nicht die Mühe machen, ein Downgrade durchzuführen. Dies ist, was ich getan habe (es hat noch eine Weile gedauert, aber weniger Aufwand als IMHO herunterzustufen):

  1. In der VM Vagrant-Datei wurde NFS für jeden synchronisierten Ordner deaktiviert

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

  2. / Etc / export entfernt

    sudo mv /etc/exports ~/Desktop/exports

  3. Schreiben Sie / etc / exports neu

    vagrant up

  4. Aktivieren Sie NFS erneut, wenn Sie möchten, dass es auf Ihrer VM aktiviert wird

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

gebrochener Indexfinger
quelle
4

Führen Sie einfach die folgenden Befehle aus:

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

Verwenden Sie diese Option NICHT , vagrant up --provisionwenn Sie nicht sicher sind, ob der aktuelle Status Ihres Projekts nicht überschrieben wird.

MilanG
quelle
0

Auf Ubuntu 12 Host / Ubuntu 12 Gast funktionierte für mich Folgendes mit 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

Hinweis: Ich musste auch eine von Vagrant festgelegte Host-IP-Adresse und eine von Vagrant festgelegte Gast-IP-Adresse zu Firewall-Ausnahmen hinzufügen.

niccolox
quelle