Vagrant 오류 : 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:innfs_prune 'from /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 'from /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: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/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호출 '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 .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 'from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:in call'from call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/providers/virtualbox/action/set_name.rb:19: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/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:inblock in finalize_action 'from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:in call'from 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 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 / 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.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 'from /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 '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 in finalize_action '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: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 '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:inrun 'from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/call.rb:51:in call'from 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 / 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 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.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: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 : 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 'from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:in call'from run' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/call.rb:51: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/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:inbusy 'from /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'from /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 in 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 execute' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/cli.rb:38:in/ 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

Discourse as Your First Rails App 에서 언급 한 VirtualBox 및 Vagrant의 알려진 좋은 버전을 사용해보십시오 .

Mac (OS X 10.9 (Mavericks))에서 동일한 문제가 발생했지만 이러한 버전으로 롤백하면 문제가 해결되는 것 같습니다.


감사합니다. 아직 다음 설치 단계를 완료하고 있지만 작동 한 것 같습니다.
헌터

3
다운 그레이드는 필요하지 않습니다. 당신은 실행해야합니다 sudo touch /etc/exports. colinhoernig의 답변을 참조하십시오 . 또한 방랑 설치를 v1.4.3으로, VirtualBox를 v4.3.8로 업데이트했는데 내 문제가 해결되는 것 같았습니다.
donut

5
이것은 잘못된 대답입니다. 훨씬 더 도움이되는 colinhoemig의 답변을 선택하세요!
enjalot 2014

3
답은 건설적이고 오해의 소지가 없습니다. 나는 그것이 올바른 것으로 어떻게 표시되는지 궁금합니다. 정답은 50 회 이상 득표 한 @colinhoernig의 답변입니다. 오류를 해결할 수 있습니다. / etc / exports 파일을 수정해야합니다. 그런 다음 다시 빌드하십시오.
Alexandros Spyropoulos 2015 년

1
문서화 된 종속성으로 프로젝트를 처음 빌드 할 때 작동하는 것으로 알려진 정확한 버전을 사용하는 것이 도움이됩니다.이 문제에 대한 해결 방법이 있다고해서 문서화되지 않은 다른 문제가 발생하지 않는다는 의미는 아닙니다. 비 호환성 ...
Lockyer

332

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
동일한 폴더에 두 개의 방랑 상자가 있었기 때문에 이것은 가장 적용 가능한 것입니다. 그들은 혼란스러워했습니다!
wulftone 2014 년

33
또는 모두 삭제하는 대신 더 이상 존재하지 않는 VM과 관련된 모든 행을 제거하십시오.
Alejandro Moreno

2
프로젝트 디렉토리 이름을 바꾼 후이 문제가 발생했습니다. 감사! :)
Radu 2015 년

4
이 명령은 호스트 컴퓨터에서 실행되어야한다는 것을 언급 할 가치가 있습니다. 방랑 함이 실제로 부팅 되었기 때문에 로그인 할 수 있지만 / etc / exports 파일을 찾을 수 없습니다. 호스트 컴퓨터에 있기 때문입니다.
chuwy

4
--provision일반적으로 up프로비저닝 시간이 아닌 NFS가 마운트되므로 마지막 명령에서 플래그가 필요한지 확실하지 않습니다 . 설정에 필요할 수 있지만 이러한 단계는 해당 플래그없이 저에게 효과적이었습니다.
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
아주 좋은 팁이 내가 먼저 시도로하지 게스트에 ... 맥 호스트에서 수행되어야한다
람지

@Ramzi에게 감사합니다. 명확히하기 위해 원본을 편집했습니다.
colinhoernig 2014 년

내가 사용했다 sudo는 RF RM은 / 등 / 리눅스에 대한 수출이 폴더 그대로
timhc22

5
또한 방랑자를 혼란스럽게하는 여러 항목이 있기 때문에 / etc / exports 파일을 편집해야했습니다.
enjalot 2014

내 exports 파일의 내용을 삭제했다
데이비드

23

나 에게이 오류는 작동하는 Vagrant 환경에서 나타나기 시작했습니다.

Vagrant가 실행중인 디렉토리의 이름을 변경했습니다. 이 문제를 해결하기 위해 'sudo vi / etc / exports'를 실행하고 현재 디렉터리를 가리 키도록 경로 이름을 수정했습니다.


9

나에게도 같은 일이 일어났습니다. 다른 프로젝트에서 Vagrantfile을 복사하고 NFS 설정을 변경하는 것을 잊었습니다. 이로 인해 현재 VM이 원래 Vagrantfile을 복사 한 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

마지막 두 경로는 동일합니다. 그래서 마지막 세 줄을 삭제하고 실행했습니다.

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를 다시 활성화합니다.

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


5

다음 명령을 실행하십시오.

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.