Galat gelandangan: NFS melaporkan bahwa file ekspor Anda tidak valid

95

Saya mencoba untuk mengatur lingkungan pengembangan Discourse menggunakan instruksi ini . Namun ketika saya menjalankan Vagrant saya mendapatkan error:

NFS melaporkan bahwa file ekspor Anda tidak valid. Vagrant melakukan pemeriksaan ini sebelum membuat perubahan apa pun pada file. Perbaiki masalah di bawah dan jalankan "muat ulang gelandangan":

Tidak dapat membuka / etc / ekspor

Saya memeriksa, dan saya tidak memiliki folder etc / ekspor, jadi saya membuatnya dan menjalankan vagrant reload. Ini membuat saya:

/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 'dari /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/ plugins / synced_folders / nfs / synced_folder.rb: 68: di cleanup' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/synced_folder_cleanup.rb:24:inblok dalam panggilan 'dari /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:inhubungi 'dari /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:inpanggilan' dari /Applications/Vagrant/embedded/gems/gems/vagrant-1.4 .1 / lib / gelandangan / tindakan / warden.rb: 34: dalam call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/handle_forwarded_port_collisions.rb:118:inpanggilan 'dari /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:inpanggil 'dari /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34: di call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/env_set.rb:19:intelepon' dari /Applications/Vagrant/embedded/gems/gems/vagrant-1.4 .1 / lib / gelandangan / tindakan / warden.rb: 34: dalam call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/provision.rb:52:inpanggilan 'dari /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:inpanggilan 'dari /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:inpanggilan' dari /Applications/Vagrant/embedded/gems/gems/vagrant-1.4. 1 / lib / gelandangan / tindakan / warden.rb: 34: dalam call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/providers/virtualbox/action/clean_machine_folder.rb:17:inpanggilan 'dari /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:inpanggilan' dari /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:inblokir di finalize_action 'dari /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:inpanggilan' dari / Applications / Vagrant / embedded / gems / gems / gelandangan -1.4.1 / lib / vagrant / action / builder.rb: 116: di call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:inblok sedang dijalankan 'dari /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/util/busy.rb: 19: dalam busy' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:inmenjalankan 'dari /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/call.rb:51: di call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:inpanggilan' dari / Applications / Vagrant / embedded / gems / gems / vagrant-1.4.1 / lib / gelandangan / 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 'dari /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb : 34: dalamcall' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builder.rb:116:inpanggil 'dari /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:di block in run' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/util/busy.rb:19:insibuk' dari /Applications/Vagrant/embedded/gems/gems/vagrant-1.4 .1 / lib / gelandangan / aksi / runner.rb: 69: dalam run' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/call.rb:51:inpanggilan 'dari /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34: di call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:95:inblok dalam finalize_action 'dari /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34: di call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:inpanggilan' dari / Applications / Vagrant / embedded / gems / gems / vagrant- 1.4.1 / lib / vagrant / action / builder.rb: 116: di call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:inblok sedang dijalankan 'dari /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/util/busy.rb:19 :dibusy' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:injalankan 'dari /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/call.rb:51: di call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:inpanggilan' dari / Applications / Gelandangan / tertanam / permata / permata / gelandangan -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 'dari /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/providers/virtualbox/action/check_virtualbox. rb: 17: dalam call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:inpanggilan 'dari /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/call.rb:57: di call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:inpanggilan' dari / Aplikasi / Gelandangan / tertanam / gems / gems / vagrant-1.4.1 / plugins / provider / virtualbox / action / check_virtualbox.rb: 17: dalam call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:inpanggilan 'dari /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:inhubungi 'dari /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:inpanggilan' dari /Applications/Vagrant/embedded/gems/gems/vagrant-1.4 .1 / lib / gelandangan / tindakan / warden.rb: 34: dalam call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builder.rb:116:inpanggilan 'dari /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:di block in run' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/util/busy.rb:19:insibuk 'dari /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:dalam run' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/call.rb:51:inpanggilan' dari /Applications/Vagrant/embedded/gems/gems/vagrant-1.4. 1 / lib / gelandangan / tindakan / warden.rb: 34: dalam call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/providers/virtualbox/action/check_virtualbox.rb:17:inpanggilan 'dari /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:inpanggilan' dari /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:insibuk 'dari /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69: dalam run' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/machine.rb:147:intindakan' dari /Applications/Vagrant/embedded/gems/gems/vagrant-1.4 .1 / plugins / commands / reload / command.rb: 37: di block in execute' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/plugin/v2/command.rb:193:inblok di with_target_vms 'dari /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/plugin/v2/command.rb: 191: di each' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/plugin/v2/command.rb:191:inwith_target_vms 'dari /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/commands/reload/command.rb:36: di execute' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/cli.rb:38:injalankan' dari / Aplikasi / Gelandangan / tertanam / permata / permata / vagrant-1.4.1 / lib / gelandangan / lingkungan.rb: 484: di cli' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/bin/vagrant:127:in'dari /Applications/Vagrant/bin/../embedded/gems/bin/vagrant:23:in load' from /Applications/Vagrant/bin/../embedded/gems/bin/vagrant:23:in'

Saya menggunakan Mac (OS X 10.6.8). Bagaimana cara mengatasinya? Saya mencoba mencari pesan kesalahan asli, dan yang saya temukan hanyalah beberapa repositori yang berisi kode sumber Vagrant yang melemparkannya.

Pemburu
sumber

Jawaban:

-32

Coba gunakan versi baik dari VirtualBox dan Vagrant yang dicatat dalam Discourse sebagai Aplikasi Rel Pertama Anda :

Saya mengalami masalah yang sama di Mac (OS X 10.9 (Mavericks)), tetapi memutar kembali ke versi ini tampaknya memperbaikinya untuk saya.

Lockyer
sumber
Terima kasih, saya masih menyelesaikan langkah penginstalan berikutnya, tetapi sepertinya berhasil.
Hunter
3
Mendowngrade tidak diperlukan. Anda hanya perlu lari sudo touch /etc/exports. Lihat jawaban colinhoernig . Juga, saya baru saja memperbarui instalasi gelandangan saya ke v1.4.3 dan VirtualBox ke v4.3.8 dan itu sepertinya menyelesaikan masalah saya.
donat
5
ini adalah jawaban yang menyesatkan. silakan pilih jawaban colinhoemig karena jauh lebih membantu!
enjalot
3
Jawabannya tidak konstruktif dan menyesatkan. Saya bertanya-tanya bagaimana itu ditandai sebagai benar. Jawaban yang benar adalah dari @colinhoernig yang telah dipilih lebih dari 50 kali. Agar Kesalahan diselesaikan. Anda perlu memperbaiki file / etc / export. Lalu bangun lagi.
Alexandros Spyropoulos
1
Saat Anda membangun proyek dengan dependensi yang terdokumentasi untuk pertama kalinya, ada baiknya menggunakan versi persis yang diketahui berfungsi, hanya karena ada solusi untuk satu masalah yang tepat ini tidak berarti dia tidak akan mengalami masalah lain yang tidak terdokumentasi. inkompatibilitas ...
Lockyer
332

Saya memiliki beberapa gambar / kotak sebelumnya yang diinstal di instalasi VirtualBox saya, jadi sudah ada beberapa entri yang tidak valid /etc/exports. Jadi saya harus membersihkan file itu dan memulai ulang kotak Vagrant saya.

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

Inilah yang saya lakukan di mesin host saya:

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

vagrant halt
vagrant up --provision
totas
sumber
9
Ini adalah yang paling bisa diterapkan, karena saya memiliki dua kotak gelandangan yang memasang folder yang sama. Mereka jadi bingung!
wulftone
33
atau daripada menghapus semua, cukup hapus semua baris yang terkait dengan VM yang sudah tidak ada lagi.
Alejandro Moreno
2
Saya mengalami masalah ini setelah mengganti nama dir proyek. Terima kasih! :)
Radu
4
Perlu disebutkan bahwa perintah ini harus dijalankan di mesin host. Karena dengan kotak gelandangan sebenarnya di-boot, saya bisa masuk ke sana, tetapi tidak dapat menemukan file / etc / ekspor. Karena ada di mesin host.
chuwy
4
Saya tidak yakin bahwa --provisionflag diperlukan pada perintah terakhir, karena biasanya NFS dipasang pada updaripada pada waktu penyediaan. Ini mungkin diperlukan dalam penyiapan Anda, tetapi langkah-langkah ini berhasil untuk saya tanpa tanda itu.
acobster
79

Saya mengalami masalah ini dengan Vagrant 1.4.1 dan VirtualBox 4.3.6 di OS X 10.9 Mavericks (13A603). Saya dapat memperbaikinya dengan perintah sederhana untuk membuat file / etc / ekspor yang hilang. Jalankan ini di OS X, bukan tamu, seperti yang ditunjukkan pada komentar di bawah.

$ sudo touch /etc/exports

Saya kemudian berhasil berlari vagrant up. Saya mengalami kesalahan lain di mana Penambahan Tamu tidak diperbarui, tetapi saya memperbaiki masalah itu dengan menginstal plugin vagrant-vbguest.

$ vagrant plugin install vagrant-vbguest

dan kemudian dengan cepat vagrant reloaddan saya bangun dan berlari!

colinhoernig
sumber
4
Tip yang sangat bagus, ini harus dilakukan pada host Mac ... Bukan pada tamu seperti yang saya coba pertama kali
Ramzi
Terima kasih @Ramzi, saya telah mengedit aslinya untuk mengklarifikasi.
colinhoernig
Saya harus menggunakan sudo rm -rf / etc / ekspor di linux karena ini adalah folder
timhc22
5
Saya juga harus mengedit file / etc / export saya karena memiliki banyak entri yang membingungkan gelandangan.
enjalot
Saya harus menghapus konten file ekspor saya
David
23

Bagi saya, kesalahan ini mulai muncul untuk lingkungan Gelandangan yang berfungsi.

Saya telah mengganti nama direktori tempat Vagrant dijalankan. Untuk memperbaikinya, saya menjalankan 'sudo vi / etc / ekspor' dan memperbaiki nama jalur sehingga mengarah ke direktori saya saat ini.

Kevin G.
sumber
9

Hal yang sama terjadi pada saya. Saya menyalin Vagrantfile saya dari proyek lain dan lupa mengubah pengaturan NFS. Hal ini menyebabkan VM saat ini memasang folder induk dari VM tempat saya menyalin file Vagrantfile asli. Jadi saya melakukan ini:

vagrant halt
vagrant up

Masih mendapat kesalahan yang sama. Jadi saya melacak file ekspor saya yang terletak di / etc / export yang terlihat seperti ini:

# 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

Dua jalur terakhir sama. Jadi saya menghapus tiga baris terakhir dan menjalankan:

vagrant halt && vagrant up

Sekarang semuanya tampak bekerja dengan baik.

OSX 10.11.1 Gelandangan 1.7.4

colefner
sumber
8

Saya tidak ingin repot-repot menurunkan peringkat. Inilah yang saya lakukan (masih butuh waktu, tetapi lebih mudah daripada menurunkan IMHO):

  1. Di VM Vagrantfile, untuk folder apa pun yang disinkronkan, nonaktifkan NFS

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

  2. / Etc / ekspor dihapus

    sudo mv /etc/exports ~/Desktop/exports

  3. Tulis ulang / etc / ekspor

    vagrant up

  4. Aktifkan kembali NFS jika Anda ingin / membutuhkannya diaktifkan di VM Anda

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

brokenindexfinger
sumber
5

Jalankan saja perintah berikut:

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

Apakah tidak menggunakan vagrant up --provisionjika Anda tidak yakin bahwa itu tidak akan menimpa status proyek Anda.

MilanG
sumber
0

Pada Ubuntu 12 host / Ubuntu 12 guest, berikut ini yang berfungsi untuk saya dengan 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

Catatan: Saya juga harus menambahkan alamat IP host yang ditentukan oleh Vagrant dan alamat IP tamu yang ditentukan oleh pengecualian firewall oleh Vagrant.

niccolox.dll
sumber