Lỗi Vagrant: NFS đang báo cáo rằng tệp xuất của bạn không hợp lệ


95

Tôi đang cố gắng thiết lập môi trường phát triển Discourse bằng cách sử dụng các hướng dẫn này . Tuy nhiên, khi tôi chạy Vagrant, tôi gặp lỗi:

NFS đang báo cáo rằng tệp xuất của bạn không hợp lệ. Vagrant thực hiện việc kiểm tra này trước khi thực hiện bất kỳ thay đổi nào đối với tệp. Vui lòng sửa các vấn đề bên dưới và thực hiện "tải lại lang thang":

Không thể mở / etc / export

Tôi đã kiểm tra và tôi không có thư mục etc / export, vì vậy tôi đã tạo một thư mục và chạy vagrant reload. Điều này khiến tôi:

/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' từ /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/ plugins / synced_folders / nfs / synced_folder.rb: 68: đang cleanup' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/synced_folder_cleanup.rb:24:inchặn trong cuộc gọi 'từ /Application/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:ingọi 'từ /Application/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' từ /Application/Vagrant/embedded/gems/gems/vagrant-1.4 .1 / lib / vagrant / action / warden.rb: 34: trong call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/handle_forwarded_port_collisions.rb:118:incuộc gọi 'từ /Application/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:ingọi 'từ /Application/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' từ /Application/Vagrant/embedded/gems/gems/vagrant-1.4 .1 / lib / vagrant / action / warden.rb: 34: trong call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/provision.rb:52:incuộc gọi 'từ /Application/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:incuộc gọi 'from /Application/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' from /Application/Vagrant/embedded/gems/gems/vagrant-1.4. 1 / lib / vagrant / action / warden.rb: 34: trong call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/providers/virtualbox/action/clean_machine_folder.rb:17:incuộc gọi 'từ /Application/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' từ /Application/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:inchặn trong finalize_action 'từ /Application/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 / nhúng / gems / gems / vagrant -1.4.1 / lib / vagrant / action / builder.rb: 116: trong call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:inkhối đang chạy 'từ /Application/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/util/busy.rb: 19: đang busy' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:inchạy 'từ /Application/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' từ / Applications / Vagrant / nhúng / gems / gems / vagrant-1.4.1 / lib / vagrant / action / warden.rb: 95: trong block in finalize_action' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:incuộc gọi 'từ /Application/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb : 34: trongcall' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builder.rb:116:ingọi 'from /Application/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 /Appices/Vagrant/embedded/gems/gems/vagrant-1.4 .1 / lib / vagrant / action / runner.rb: 69: trong run' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builtin/call.rb:51:incuộc gọi 'từ /Application/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 trong finalize_action 'từ /Application/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' từ / Applications / Vagrant / nhúng / gems / gems / vagrant- 1.4.1 / lib / vagrant / action / builder.rb: 116: trong call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:inkhối đang chạy 'từ /Application/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/util/busy.rb:19 :trongbusy' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/runner.rb:69:inchạy 'từ /Application/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' từ / Applications / Vagrant / nhúng / gems / gems / vagrant -1.4.1 / lib / vagrant / action / builtin / config_validate.rb: 25: trong call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:incuộc gọi 'từ /Application/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/providers/virtualbox/action/check_virtualbox. rb: 17: trong call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/warden.rb:34:incuộc gọi 'từ /Application/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' từ / Applications / Vagrant / nhúng / 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 /Application/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:ingọi 'từ /Application/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' từ /Application/Vagrant/embedded/gems/gems/vagrant-1.4 .1 / lib / vagrant / action / warden.rb: 34: trong call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/action/builder.rb:116:incuộc gọi 'từ /Application/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:inbận 'from /Application/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 /Application/Vagrant/embedded/gems/gems/vagrant-1.4. 1 / lib / vagrant / action / warden.rb: 34: trong call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/plugins/providers/virtualbox/action/check_virtualbox.rb:17:incuộc gọi 'từ /Application/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' từ /Application/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:inbận 'từ /Application/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 /Application/Vagrant/embedded/gems/gems/vagrant-1.4 .1 / plugins / command / reload / command.rb: 37: trong block in execute' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/plugin/v2/command.rb:193:inkhối trong with_target_vms 'từ /Application/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/plugin/v2/command.rb: 191: trong each' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.1/lib/vagrant/plugin/v2/command.rb:191:inwith_target_vms 'từ /Application/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:inthực thi' from / Applications / Vagrant / nhúng / 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 /Application/Vagrant/bin/../embedded/gems/bin/vagrant:23:in load' from /Applications/Vagrant/bin/../embedded/gems/bin/vagrant:23:in'

Tôi đang sử dụng máy Mac (OS X 10.6.8). Làm cách nào để sửa lỗi này? Tôi đã thử tìm kiếm thông báo lỗi ban đầu và tất cả những gì tôi tìm thấy là một vài kho chứa mã nguồn Vagrant đã ném nó.

Câu trả lời:


-32

Hãy thử sử dụng các phiên bản tốt đã biết của VirtualBox và Vagrant được lưu ý trong Discourse as Your First Rails App :

Tôi đang gặp vấn đề tương tự trên Mac (OS X 10.9 (Mavericks)), nhưng việc quay lại các phiên bản này dường như đã khắc phục được sự cố cho tôi.


Cảm ơn Tôi vẫn đang hoàn thành các bước cài đặt tiếp theo, nhưng có vẻ như cách đó đã hoạt động.
Hunter

3
Hạ cấp là không bắt buộc. Bạn chỉ cần chạy sudo touch /etc/exports. Xem câu trả lời của colinhoernig . Ngoài ra, tôi vừa cập nhật cài đặt vagrant của mình lên v1.4.3 và VirtualBox lên v4.3.8 và điều đó dường như giải quyết được vấn đề của tôi.
donut

5
đây là một câu trả lời sai lầm. vui lòng chọn câu trả lời của colinhoemig vì nó hữu ích hơn nhiều!
enjalot

3
Câu trả lời không mang tính xây dựng và sai sót. Tôi tự hỏi làm thế nào nó được đánh dấu là chính xác. Câu trả lời chính xác là của @colinhoernig đã được bình chọn hơn 50 lần. Để Lỗi được giải quyết. Bạn cần sửa tệp / etc / export. Sau đó xây dựng lại.
Alexandros Spyropoulos

1
Khi bạn đang xây dựng một dự án với các phụ thuộc được ghi lại lần đầu tiên, việc sử dụng các phiên bản chính xác được biết là hoạt động sẽ giúp ích cho bạn, chỉ vì có một công việc cho một vấn đề chính xác này không có nghĩa là anh ta sẽ không gặp phải các phiên bản không có tài liệu khác không tương thích ...
Lockyer

331

Tôi đã cài đặt một số hình ảnh / hộp trước đó trong cài đặt VirtualBox của mình, vì vậy đã có một số mục nhập không hợp lệ /etc/exports. Vì vậy, tôi phải xóa tệp đó và khởi động lại hộp Vagrant của mình.

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

Đây là những gì tôi đã làm trên máy chủ của mình:

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

vagrant halt
vagrant up --provision

9
Đây là cách áp dụng nhất, vì tôi có hai hộp mơ hồ gắn cùng một thư mục. Họ đã nhầm lẫn!
wulftone

32
hoặc thay vì xóa tất cả, chỉ cần xóa tất cả những dòng liên quan đến những máy ảo không còn ở đó nữa.
Alejandro Moreno

2
Tôi gặp sự cố này sau khi đổi tên tên dir của dự án. Cảm ơn! :)
Radu

4
Điều đáng nói là lệnh này nên được thực thi trên máy chủ. Bởi vì hộp của vagrant thực sự được khởi động, tôi có thể đăng nhập vào nó, nhưng không thể tìm thấy / etc / export tệp. Vì nó nằm trên máy chủ.
chuwy

4
Tôi không chắc rằng --provisioncờ là cần thiết trong lệnh cuối cùng, vì NFS thường được gắn trên upchứ không phải tại thời gian cấp phép. Nó có thể được yêu cầu trong thiết lập của bạn, nhưng các bước này đã hiệu quả với tôi mà không cần cờ đó.
acobster

79

Tôi gặp sự cố này với Vagrant 1.4.1 và VirtualBox 4.3.6 trên OS X 10.9 Mavericks (13A603). Tôi đã có thể sửa nó bằng một lệnh đơn giản để tạo tệp / etc / export bị thiếu. Chạy điều này trên OS X, không phải khách, như được chỉ ra trong nhận xét bên dưới.

$ sudo touch /etc/exports

Sau đó tôi đã có thể chạy thành công vagrant up. Tôi đã gặp phải một lỗi khác trong đó Bổ sung khách không được cập nhật, nhưng tôi đã khắc phục sự cố đó bằng cách cài đặt plugin vagrant-vbguest.

$ vagrant plugin install vagrant-vbguest

và sau đó nhanh chóng vagrant reloadvà tôi đã bắt đầu và chạy!


4
Mẹo rất hay, điều này phải được thực hiện trên máy chủ Mac ... Không phải trên khách như lần đầu tiên tôi thử
Ramzi

Cảm ơn bạn @Ramzi, tôi đã chỉnh sửa bản gốc để làm rõ.
colinhoernig

Tôi đã phải sử dụng sudo rm -rf / etc / export trên linux vì nó là một thư mục
timhc22

5
Tôi cũng phải chỉnh sửa tệp / etc / export của mình vì nó có nhiều mục nhập gây nhầm lẫn cho người mơ hồ.
enjalot

Tôi đã phải xóa nội dung của tệp xuất của mình
David

23

Đối với tôi, lỗi này bắt đầu xuất hiện đối với môi trường Vagrant đang hoạt động.

Tôi đã đổi tên thư mục mà Vagrant đang chạy. Để khắc phục, tôi đã chạy 'sudo vi / etc / export' và sửa tên đường dẫn để nó trỏ đến thư mục hiện tại của tôi.


9

Điều tương tự cũng xảy ra với tôi. Tôi đã sao chép qua Vagrantfile của mình từ một dự án khác và quên thay đổi cài đặt NFS. Điều này khiến máy ảo hiện tại gắn kết thư mục mẹ của máy ảo mà tôi đã sao chép Vagrantfile gốc từ đó. Vì vậy, tôi đã làm điều này:

vagrant halt
vagrant up

Vẫn gặp lỗi tương tự. Vì vậy, tôi đã theo dõi tệp xuất của mình nằm tại / etc / export trông giống như sau:

# 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

Hai con đường cuối cùng giống nhau. Vì vậy, tôi đã xóa ba dòng cuối cùng và chạy:

vagrant halt && vagrant up

Bây giờ mọi thứ dường như đang hoạt động tốt.

OSX 10.11.1 Vagrant 1.7.4


8

Tôi không muốn trải qua rắc rối khi hạ cấp. Đây là những gì tôi đã làm (vẫn mất một lúc, nhưng ít phức tạp hơn so với hạ cấp IMHO):

  1. Trong VM Vagrantfile, đối với bất kỳ thư mục được đồng bộ hóa nào, đã tắt NFS

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

  2. Đã xóa / etc / export

    sudo mv /etc/exports ~/Desktop/exports

  3. Viết lại / vv / xuất

    vagrant up

  4. Bật lại NFS nếu bạn muốn / cần nó được bật trên máy ảo của bạn

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


4

Chỉ cần chạy các lệnh sau:

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

Đừng KHÔNG sử dụng vagrant up --provisionnếu bạn không chắc chắn rằng nó sẽ không ghi đè tình trạng hiện tại của dự án của bạn.


0

Trên máy chủ Ubuntu 12 / khách Ubuntu 12, điều sau đây đã làm việc cho tôi với 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

Lưu ý: Tôi cũng phải thêm địa chỉ IP máy chủ được xác định bởi Vagrant và địa chỉ IP khách do Vagrant xác định vào các trường hợp ngoại lệ tường lửa.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.