Error vago: NFS informa que su archivo de exportación no es válido

95

Estoy intentando configurar el entorno de desarrollo de Discourse utilizando estas instrucciones . Sin embargo, cuando ejecuto Vagrant, aparece el error:

NFS informa que su archivo de exportación no es válido. Vagrant realiza esta comprobación antes de realizar cambios en el archivo. Corrija los problemas a continuación y ejecute la "recarga vagabunda":

No se puede abrir / etc / export

Lo verifiqué y no tengo una carpeta etc / export, así que creé una y ejecuté vagrant reload. Esto me consiguió:

/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 'de /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:inblock in call 'de /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:inllamar 'desde /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' desde /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 'desde /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:inllamar 'desde /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' desde /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 'desde /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 'desde /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' desde /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 'desde /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' de /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:inbloquear en finalize_action 'desde /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' desde / Applications / Vagrant / embedded / gems / gems / vagrant -1.4.1 / lib / vagrant / action / builder.rb: 116: en call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:inbloque en ejecución 'de /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/util/busy.rb: 19: en busy' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:inejecución 'desde /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' desde / 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.1/lib/vagrant/action/warden.rb : 34: encall' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builder.rb:116:inllamar 'desde /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' desde /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 'desde /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:inbloque en finalize_action 'desde /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' desde / Applications / Vagrant / embedded / gems / gems / vagrant- 1.4.1 / lib / vagrant / action / builder.rb: 116: en call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:inbloque en ejecución 'de /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/util/busy.rb:19 :enbusy' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:inejecutar 'desde /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' desde / 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 'desde /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 'desde /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' desde / 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 '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:inllamar 'desde /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' desde /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 'desde /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 'desde /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' desde /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_virtualbox.rb:17:incall 'desde /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' de /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:inocupado 'de /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' de /Applications/Vagrant/embedded/gems/gems/vagrant-1.4 .1 / plugins / commands / reload / command.rb: 37: en block in execute' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/plugin/v2/command.rb:193:inbloque en with_target_vms 'de /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/plugin/v2/command.rb: 191: en each' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/plugin/v2/command.rb:191:inwith_target_vms 'desde /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' desde / 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'de /Applications/Vagrant/bin/../embedded/gems/bin/vagrant:23:in load' from /Applications/Vagrant/bin/../embedded/gems/bin/vagrant:23:in'

Estoy en una Mac (OS X 10.6.8). ¿Cómo puedo solucionar esto? Intenté buscar el mensaje de error original y todo lo que encontré fueron algunos repositorios que contenían el código fuente de Vagrant que lo arroja.

Cazador
fuente

Respuestas:

-32

Intente usar las buenas versiones conocidas de VirtualBox y Vagrant señaladas en Discourse como su aplicación First Rails :

Tenía el mismo problema en Mac (OS X 10.9 (Mavericks)), pero volver a estas versiones parecía solucionarlo por mí.

Lockyer
fuente
Gracias. Todavía estoy terminando los siguientes pasos de instalación, pero parece que funcionó.
Hunter
3
No es necesario degradar. Solo necesitas correr sudo touch /etc/exports. Vea la respuesta de colinhoernig . Además, acabo de actualizar mi instalación de vagabundos a v1.4.3 y VirtualBox a v4.3.8 y eso pareció resolver mi problema.
donut
5
esta es una respuesta engañosa. Por favor, seleccione la respuesta de colinhoemig ya que es mucho más útil.
enjalot
3
La respuesta no es constructiva ni engañosa. Me pregunto cómo está marcado como correcto. La respuesta correcta es la de @colinhoernig que ha sido votada más de 50 veces. Para que se resuelva el Error. Necesita arreglar el archivo / etc / export. Luego construye de nuevo.
Alexandros Spyropoulos
1
Cuando está construyendo un proyecto con dependencias documentadas por primera vez, es útil usar las versiones exactas que se sabe que funcionan, solo porque hay una solución para este problema exacto no significa que no se encontrará con otros indocumentados. incompatibilidades ...
Lockyer
331

Tenía algunas imágenes / cuadros anteriores instalados en mi instalación de VirtualBox, por lo que ya había algunas entradas no válidas /etc/exports. Así que tuve que limpiar ese archivo y reiniciar mi caja 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":

Esto es lo que hice en mi máquina host:

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

vagrant halt
vagrant up --provision
totas
fuente
9
Este era el más aplicable, ya que tenía dos cajas de vagabundos montando la misma carpeta. ¡Se confundieron!
wulftone
32
o en lugar de eliminar todo, simplemente elimine todas esas líneas relacionadas con las VM que ya no están allí.
Alejandro Moreno
2
Tuve este problema después de cambiar el nombre del directorio del proyecto. ¡Gracias! :)
Radu
4
Vale la pena mencionar que este comando debe ejecutarse en la máquina host. Debido a que vagrant box se inicia, pude iniciar sesión, pero no pude encontrar el archivo / etc / export. Porque está en la máquina host.
chuwy
4
No estoy seguro de que la --provisionbandera sea necesaria en el último comando, ya que normalmente NFS está montado en uplugar de en el momento del aprovisionamiento. Puede que sea necesario en su configuración, pero estos pasos funcionaron para mí sin esa bandera.
Acobster
79

Me encontré con este problema con Vagrant 1.4.1 y VirtualBox 4.3.6 en OS X 10.9 Mavericks (13A603). Pude solucionarlo con un comando simple para crear el archivo / etc / export que falta. Ejecute esto en OS X, no como invitado, como se indica en los comentarios a continuación.

$ sudo touch /etc/exports

Entonces pude ejecutar con éxito vagrant up. Me encontré con otro error en el que las adiciones de invitados no estaban actualizadas, pero solucioné ese problema instalando el complemento vagrant-vbguest.

$ vagrant plugin install vagrant-vbguest

y luego un rápido vagrant reloady ¡estaba listo y funcionando!

Colinhoernig
fuente
4
Muy buen consejo, esto debe hacerse en el host de Mac ... No en el invitado como lo intenté por primera vez
Ramzi
Gracias @Ramzi, he editado el original para aclarar.
colinhoernig
Tuve que usar sudo rm -rf / etc / export en linux ya que es una carpeta
timhc22
5
También tuve que editar mi archivo / etc / export porque tenía varias entradas que confundían al vagabundo.
enjalot
Tuve que eliminar el contenido de mi archivo de exportaciones
David
23

Para mí, este error comenzó a aparecer para un entorno Vagrant en funcionamiento.

Había cambiado el nombre del directorio desde el que se estaba ejecutando Vagrant. Para solucionarlo, ejecuté 'sudo vi / etc / export' y arreglé el nombre de la ruta para que apuntara a mi directorio actual.

Kevin G.
fuente
9

Lo mismo me pasó a mí. Copié mi Vagrantfile de otro proyecto y olvidé cambiar la configuración de NFS. Esto hizo que la VM actual montara la carpeta principal de la VM de la que copié el Vagrantfile original. Entonces hice esto:

vagrant halt
vagrant up

Todavía tengo el mismo error. Así que rastreé mi archivo de exportaciones ubicado en / etc / export, que se ve así:

# 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

Los dos últimos caminos son iguales. Así que borré las últimas tres líneas y ejecuté:

vagrant halt && vagrant up

Ahora todo parece estar funcionando bien.

OSX 10.11.1 Vagrant 1.7.4

colefner
fuente
8

No quería pasar por la molestia de bajar de categoría. Esto es lo que hice (todavía me tomó un tiempo, pero menos molestias que degradar en mi humilde opinión):

  1. En VM Vagrantfile, para cualquier carpeta sincronizada, NFS deshabilitado

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

  2. Eliminado / etc / export

    sudo mv /etc/exports ~/Desktop/exports

  3. Reescribir / etc / export

    vagrant up

  4. Vuelva a habilitar NFS si lo desea / necesita habilitado en su VM

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

dedo índice roto
fuente
4

Simplemente ejecute los siguientes comandos:

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

No NO utilizar vagrant up --provisionsi no está seguro de que no lo hará estado actual de sobreescritura de su proyecto.

MilánG
fuente
0

En Ubuntu 12 host / Ubuntu 12 guest lo siguiente funcionó para mí 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: También tuve que agregar una dirección IP de host determinada por Vagrant y una dirección IP de invitado determinada por Vagrant a las excepciones del firewall.

niccolox
fuente