Vagrant hatası: NFS, dışa aktarma dosyanızın geçersiz olduğunu bildiriyor


95

Bu talimatları kullanarak Discourse geliştirme ortamını kurmaya çalışıyorum . Ancak Vagrant'ı çalıştırdığımda şu hatayı alıyorum:

NFS, dışa aktarılan dosyanızın geçersiz olduğunu bildiriyor. Vagrant, dosyada herhangi bir değişiklik yapmadan önce bu kontrolü yapar. Lütfen aşağıdaki sorunları düzeltin ve "serseri yeniden yükleme" yi uygulayın:

/ Etc / export açılamıyor

Kontrol ettim ve etc / export klasörüm yok, bu yüzden bir tane oluşturup çalıştırdım vagrant reload. Bu beni aldı:

/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 '/Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/ plugins / synced_folders / nfs / synced_folder.rb: 68: cleanup' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/synced_folder_cleanup.rb:24:in/Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/synced_folder_cleanup.rb:22:in 'den' çağrıda blok halinde each_key' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/synced_folder_cleanup.rb:22:in/Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34: call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/providers/virtualbox/action/prepare_nfs_valid_ids.rb:12:in'den /Applications/Vagrant/embedded/gems/gems/vagrant-1.4' den 'çağrısı .1 / lib / vagrant / action / warden.rb: 34: call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/handle_forwarded_port_collisions.rb:118:in/Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:in'den 'çağrıdacall' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/providers/virtualbox/action/prepare_forwarded_port_collision_params.rb:30:in/Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34: call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/env_set.rb:19:in'den /Applications/Vagrant/embedded/gems/gems/vagrant-1.4' den 'çağrısı .1 / lib / avare / aksiyon / warden.rb: 34: in call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/provision.rb:52:in'çağrı /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:in gelen call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/providers/virtualbox/action/clear_forwarded_ports.rb:13:inçağrı '/Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:' den /Applications/Vagrant/embedded/gems/gems/vagrant-1.4 call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/providers/virtualbox/action/set_name.rb:19:in'den' çağrı. 1 / lib / vagrant / action / warden.rb: 34: call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/providers/virtualbox/action/clean_machine_folder.rb:17:in'from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34 : in call' call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/providers/virtualbox/action/check_accessible.rb:18:inçağrısında /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:in adresindencall' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:95:in/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'from / Applications / Vagrant / embedded / gems / gems / vagrant ' dan finalize_action 'da engelle -1.4.1 / lib / vagrant / action / builder.rb: 116: call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:in/Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/util/busy.rb'den 'çalıştırılan blokta: 19: busy' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:in/Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/call.rb:51 : call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:in'den / Applications / Vagrant / embedded / gems / ' den çalıştırılıyor gems / vagrant-1.4.1 / lib / vagrant / action / warden.rb: 95: block in finalize_action' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:in/Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb'den 'çağrıda : 34: içindecall' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builder.rb:116:in/Applications/Vagrant/embedded/gems/gems/vagrant-1.4'ten '/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:inmeşgul' çağrısı .1 / lib / vagrant / action / runner.rb: 69: /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34: bloğundan run' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/call.rb:51:in'çağrıda' call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:95:infinalize_action içinde /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34: call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:in'dan / Applications / Vagrant / embedded / gems / gems / vagrant-' dan 1.4.1 / lib / vagrant / action / builder.rb: 116: call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:in/Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/util/busy.rb:19 adresinden 'çalıştırılan blok içinde :içindebusy' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:incall' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:in/ Applications / Vagrant / embedded / gems / gems / vagrant'tan '/Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/call.rb:51:'den' çalıştır -1.4.1 / lib / vagrant / action / builtin / config_validate.rb: 25: call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:in/Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/providers/virtualbox/action/check_virtualbox'tan 'çağrıda. rb: 17: call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:in'from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/call.rb:57 : in call call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:in' from / Applications / Vagrant / embedded / gems / gems / vagrant-1.4.1 / plugins / provider / virtualbox / action / check_virtualbox.rb: 17: call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:in/Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action 'dan çağrı içinde /builtin/config_validate.rb:25:incall' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:in/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:in'den /Applications/Vagrant/embedded/gems/gems/vagrant-1.4' den 'çağrısı .1 / lib / vagrant / action / warden.rb: 34: call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builder.rb:116:in/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:inmeşgul çağrısında ' '/Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:' dan /Applications/Vagrant/embedded/gems/gems/vagrant-1.4'ten run' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/call.rb:51:in'çağrıda. 1 / lib / vagrant / action / warden.rb: 34: call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/providers/virtualbox/action/check_virtualbox.rb:17:in'from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34 : in call' call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builder.rb:116:inçağrısında /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:in adresindenblock in run' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/util/busy.rb:19:in/Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:in 'den meşgul' /Applications/Vagrant/embedded/gems/gems/vagrant-1.4'ten run' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/machine.rb:147:in' .1 / plugins / commands / reload / command.rb: 37: block in execute' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/plugin/v2/command.rb:193:in/Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/plugin/v2/command.rb'den 'hedef_vms' ile blok içinde: 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: 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'

Mac kullanıyorum (OS X 10.6.8). Bunu nasıl düzeltirim? Orijinal hata mesajını aramayı denedim ve bulduğum tek şey onu atan Vagrant kaynak kodunu içeren birkaç havuzdu.

Yanıtlar:


-32

Discourse'da İlk Rails Uygulamanız olarak belirtilen VirtualBox ve Vagrant'ın bilinen iyi sürümlerini kullanmayı deneyin :

Mac'te de aynı sorunu yaşıyordum (OS X 10.9 (Mavericks)), ancak bu sürümlere geri dönmek benim için sorunu çözdü.


Teşekkürler, sonraki kurulum adımlarını hâlâ tamamlıyorum, ancak işe yaramış gibi görünüyor.
Hunter

3
Eski sürüme geçmek gerekli değildir. Sadece koşman gerekiyor sudo touch /etc/exports. Colinhoernig'in cevabına bakın . Ayrıca, serseri kurulumumu v1.4.3'e ve VirtualBox'ı v4.3.8'e güncelledim ve bu benim sorunumu çözmüş gibi görünüyordu.
donut

5
bu yanıltıcı bir cevaptır. Lütfen colinhoemig'in yanıtını çok daha yararlı olduğu için seçin!
enjalot

3
Cevap yapıcı ve yanlış yönlendirici değil. Nasıl doğru olarak işaretlendiğini merak ediyorum. Doğru cevap, 50'den fazla oy alan @ colinhoernig'in cevabıdır. Hatanın çözülmesi için. / Etc / export dosyasını düzeltmeniz gerekiyor. Sonra tekrar inşa edin.
Alexandros Spyropoulos

1
Belgelenmiş bağımlılıkları olan bir projeyi ilk kez oluştururken, çalıştığı bilinen tam sürümleri kullanmanıza yardımcı olur, çünkü tam olarak bu tek sorun için etrafta bir çalışma olması, diğer belgelenmemiş sorunla karşılaşmayacağı anlamına gelmez. uyumsuzluklar ...
Lockyer

332

VirtualBox kurulumumda önceki bazı resimlerim / kutular kurdum, bu yüzden /etc/exportszaten birkaç geçersiz girdi vardı . Bu yüzden o dosyayı temizlemem ve Vagrant kutumu yeniden başlatmam gerekti.

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

İşte ana makinemde yaptığım şey:

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

vagrant halt
vagrant up --provision

9
Aynı klasörü monte eden iki serseri kutum olduğu için bu en uygulanabilir olanıydı. Kafaları karıştı!
wulftone

33
veya tümünü silmek yerine, artık orada olmayan bu VM'lerle ilgili tüm satırları kaldırın.
Alejandro Moreno

2
Proje dizin adını yeniden adlandırdıktan sonra bu sorunu yaşadım. Teşekkürler! :)
Radu

4
Bu komutun ana makinede çalıştırılması gerektiğini belirtmekte fayda var. Serseri kutusu aslında önyüklendiğinden, ona giriş yapabildim, ancak / etc / export dosyasını bulamadım. Çünkü ana makinede.
chuwy

4
--provisionNFS'nin upsağlama zamanında değil de üzerine monte edilmesi nedeniyle bayrağın son komutta gerekli olduğundan emin değilim . Kurulumunuzda gerekli olabilir, ancak bu adımlar benim için bu bayrak olmadan işe yaradı.
acobster

79

Bu sorunla OS X 10.9 Mavericks (13A603) üzerinde Vagrant 1.4.1 ve VirtualBox 4.3.6 ile karşılaştım. Eksik / etc / export dosyasını oluşturmak için basit bir komutla düzeltmeyi başardım. Aşağıdaki yorumlarda belirtildiği gibi bunu konuk değil OS X üzerinde çalıştırın.

$ sudo touch /etc/exports

Daha sonra başarılı bir şekilde koşmayı başardım vagrant up. Konuk Eklemelerinin güncel olmadığı başka bir hatayla karşılaştım, ancak bu sorunu vagrant-vbguest eklentisini yükleyerek çözdüm.

$ vagrant plugin install vagrant-vbguest

ve sonra hızlı vagrant reloadve ben hazır ve koşuyordum!


4
Çok iyi bir ipucu, bunun Mac ana bilgisayarında yapılması gerekiyor ... İlk denediğim gibi
konukta değil

Teşekkürler @Ramzi, açıklığa kavuşturmak için orijinali düzenledim.
colinhoernig

Bir klasör olduğu için linux üzerinde sudo rm -rf / etc /
export

5
Ayrıca / etc / export dosyamı, kafa karıştıran serseri birden fazla girdi olduğu için düzenlemem gerekiyordu.
enjalot


23

Benim için bu hata çalışan bir Vagrant ortamı için görünmeye başladı.

Vagrant'ın kaçtığı dizini yeniden adlandırmıştım. Düzeltmek için, 'sudo vi / etc / export' komutunu çalıştırdım ve yol adını mevcut dizinimi gösterecek şekilde düzelttim.


9

Aynı şey bana da oldu. Vagrantfile dosyamı başka bir projeden kopyaladım ve NFS ayarlarını değiştirmeyi unuttum. Bu, mevcut VM'nin orijinal Vagrantfile'ı kopyaladığım VM'nin ana klasörünü bağlamasına neden oldu. Ben de bunu yaptım:

vagrant halt
vagrant up

Hala aynı hatayı aldım. Bu yüzden / etc / export konumunda bulunan dışa aktarma dosyamı şu şekilde buldum :

# 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

Son iki yol aynı. Bu yüzden son üç satırı sildim ve koştum:

vagrant halt && vagrant up

Şimdi her şey yolunda görünüyor.

OSX 10.11.1 Vagrant 1.7.4


8

Eski sürüme geçme zorluğundan geçmek istemedim. Yaptığım şey buydu (hala biraz zaman aldı, ancak IMHO'yu eski sürüme düşürmekten daha az güçlük çekti):

  1. VM Vagrantfile'da, senkronize edilmiş herhangi bir klasör için devre dışı bırakılmış NFS

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

  2. Kaldırıldı / etc / export

    sudo mv /etc/exports ~/Desktop/exports

  3. Yeniden yaz / etc / export

    vagrant up

  4. Sanal makinenizde etkinleştirilmesini istiyorsanız / buna ihtiyaç duyuyorsanız, NFS'yi yeniden etkinleştirin

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


6

Aşağıdaki komutları çalıştırın:

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

Do DEĞİL kullanmak vagrant up --provisionemin o projenizin değil üzerine yazma mevcut durumu olacak o değilse.


0

Ubuntu 12 host / Ubuntu 12 misafirinde, Discourse ile benim için aşağıdakiler çalıştı :

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

Not: Ayrıca, güvenlik duvarı istisnalarına Vagrant tarafından belirlenen bir ana bilgisayar IP adresi ve Vagrant tarafından belirlenen konuk IP adresi de eklemem gerekiyordu.


0

vagrant box listBunu koştum bana 4 serseri kutu olduğunu gösterdi (bir noktada onları yanlışlıkla oluşturmuş olmalı - genellikle sadece bir tane kullanıyorum. Sonra koştum vagrant box prune, kullanılmayan kutularımı sildim. Sonra vagrant uptekrar çalışmaya başladım!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.