迷惑なエラー:NFSがエクスポートファイルが無効であることを報告しています


95

これらの手順を使用してDiscourse開発環境をセットアップしようとしています。しかし、Vagrantを実行するとエラーが発生します。

NFSは、エクスポートファイルが無効であることを報告しています。Vagrantは、ファイルに変更を加える前にこのチェックを行います。以下の問題を修正し、「vagrant reload」を実行してください:

/ etc / exportsを開けません

チェックしましたが、etc / exportsフォルダーがないため、作成して実行しましたvagrant reload。これは私を手に入れました:

/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:in/Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/からnfs_prune」 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 ' /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: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/plugins/providers/virtualbox/action/prepare_nfs_valid_ids.rb:12: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/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: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/builtin/env_set.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/lib/vagrant/action/builtin/provision.rb:52: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/clear_forwarded_ports.rb:13:incall '/Applications/Vagrant/embedded/gem/gems/vagrant-1.4からの「/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」から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' /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:in/Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34からのfinalize_action 'のブロック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 / builder.rb:116:in call' from /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: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 '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/Applications/Vagrant/embedded/gems/gems/vagrant-1.4から/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 から 'call' .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 /Applications/Vagrant/embedded/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のfinalize_action 'in / 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 'from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/util/busy.rb:19 :にbusy' 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から/Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/call.rb:51:in call から実行する-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 '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/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:in/アプリケーション/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:in call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builder.rb:116:incall '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 '/Applications/Vagrant/embedded/gem/gems/vagrant-1.4からの「/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」から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 '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/builder.rb:116:incall' /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:in/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 から/Applications/Vagrant/embedded/gems/gems/vagrant-1.4からビジー.1 / plugins / commands / reload / command.rb:37:in block in execute' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/plugin/v2/command.rb:193:inblock with with_target_vms 'from /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'

Mac(OS X 10.6.8)を使用しています。どうすれば修正できますか?元のエラーメッセージを検索してみましたが、見つかったのは、それをスローするVagrantソースコードを含むいくつかのリポジトリだけでした。

回答:


-32

最初のRailsアプリとしてDiscourseに記載されているVirtualBoxとVagrantの既知の適切なバージョンを使用してみてください。

Mac(OS X 10.9(Mavericks))でも同じ問題が発生していましたが、これらのバージョンにロールバックすると問題が解決したようです。


おかげで、次のインストール手順はまだ完了していますが、うまくいったようです。
ハンター

3
ダウングレードは必要ありません。あなただけを実行する必要がありますsudo touch /etc/exportscolinhoernigの回答を参照してください。また、私はvagrantインストールをv1.4.3に、VirtualBoxをv4.3.8に更新したところ、問題が解決したようです。
ドーナツ

5
これは誤解を招く答えです。colinhoemigの回答をより役立つものとして選択してください。
enjalot 2014

3
答えは建設的で誤解を招くものではありません。どのようにして正しいとマークされているのでしょうか。正解は、50回以上投票された@colinhoernigの答えです。エラーを解決するため。/ etc / exportsファイルを修正する必要があります。その後、再度ビルドします。
Alexandros Spyropoulos

1
ドキュメント化された依存関係を持つプロジェクトを初めてビルドするときは、動作することがわかっている正確なバージョンを使用すると役立ちます。これは、この1つの正確な問題に対する回避策があるからといって、ドキュメント化されていない他のバージョンに遭遇しないという意味ではありません。非互換性...
Lockyer 2016年

330

VirtualBoxインストールに以前のイメージ/ボックスをいくつかインストールしていたため、/etc/exportsすでにいくつかの無効なエントリがありました。そのため、そのファイルをクリーンアップして、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":

これが私のホストマシンでしたことです:

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

vagrant halt
vagrant up --provision

9
同じフォルダをマウントする2つの迷惑なボックスがあったので、これは最も適切なものでした。彼らは混乱しました!
wulftone 2014年

32
または、すべてを削除する代わりに、存在しないVMに関連する行をすべて削除します。
アレハンドロモレノ

2
プロジェクトのディレクトリ名を変更した後、この問題が発生しました。ありがとう!:)
Radu

4
このコマンドはホストマシンで実行する必要があることに言及する価値があります。vagrant boxは実際に起動されているため、ログインすることはできましたが、/ etc / exportsファイルが見つかりませんでした。ホストマシン上にあるからです。
chuwy 2016年

4
--provision通常、NFSはupプロビジョニング時ではなくマウントされるため、最後のコマンドでフラグが必要かどうかはわかりません。それはあなたのセットアップで必要になるかもしれませんが、これらのステップはそのフラグなしで私のために働きました。
acobster

79

OS X 10.9 Mavericks(13A603)上のVagrant 1.4.1およびVirtualBox 4.3.6でこの問題に遭遇しました。不足している/ etc / exportsファイルを作成する簡単なコマンドで修正できました。以下のコメントで指摘されているように、これをゲストではなくOS Xで実行します。

$ sudo touch /etc/exports

その後、正常に実行することができましたvagrant up。Guest Additionsが最新でない別のエラーに遭遇しましたが、vagrant-vbguestプラグインをインストールすることでその問題を修正しました。

$ vagrant plugin install vagrant-vbguest

そしてすぐにvagrant reload、私は立ち上がって走りました!


4
非常に良いヒントです。これはMacホストで実行する必要があります...最初に試したときのようにゲストでは実行しません
Ramzi

@Ramziありがとうございます。明確にするためにオリジナルを編集しました。
colinhoernig 2014年

私はlinuxでsudo rm -rf / etc / exportsをフォルダーとして使用しなければなり
ませんでした

5
/ etc / exportsファイルも編集する必要がありました。このファイルには複数のエントリがあり、迷惑でした。
enjalot 2014

エクスポートファイルの内容を削除する必要がありました
David

23

私にとって、このエラーは動作しているVagrant環境で発生し始めました。

Vagrantが実行されていたディレクトリの名前を変更しました。これを修正するために、 'sudo vi / etc / exports'を実行し、現在のディレクトリを指すようにパス名を修正しました。


9

同じことが私にも起こりました。別のプロジェクトからVagrantfileをコピーして、NFS設定を変更するのを忘れました。これにより、元のVagrantfileのコピー元のVMの親フォルダーが現在のVMにマウントされました。だから私はこれをしました:

vagrant halt
vagrant up

それでも同じエラーが発生します。そこで、次のような/ etc / exportsにあるエクスポートファイルを追跡しました。

# 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

最後の2つのパスは同じです。したがって、最後の3行を削除して実行しました。

vagrant halt && vagrant up

現在、すべてが正常に動作しているようです。

OSX 10.11.1 Vagrant 1.7.4


8

ダウングレードの手間をかけたくありませんでした。これは私がやったことです(まだ時間がかかりましたが、IMHOをダウングレードするよりも手間はかかりません):

  1. VM Vagrantfileで、すべての同期フォルダーでNFSを無効化

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

  2. / etc / exportsを削除

    sudo mv /etc/exports ~/Desktop/exports

  3. / etc / exportsを書き換えます

    vagrant up

  4. VMでNFSを有効にする必要がある場合は、NFSを再度有効にします。

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


4

次のコマンドを実行するだけです。

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

プロジェクトの現在のステータスを上書きしないことが確実でない場合は使用しないvagrant up --provisionでください。


0

Ubuntu 12ホスト/ Ubuntu 12ゲストでは、以下が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

注:Vagrantによって決定されたホストIPアドレスとVagrantによって決定されたゲストIPアドレスもファイアウォール例外に追加する必要がありました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.