Xóa danh sách các vms trong bộ đệm ẩn


111

Tôi không tìm câu trả lời này , bởi vì câu hỏi của tôi khác.

Khi tôi nhập, vagrant global-statustôi nhận được danh sách các vms, nhưng một số thư mục và máy ảo đó đã bị xóa cùng với các tệp Vagrantfiles.

Nhưng khi tôi nhập vagrant destroy [machineid], tôi gặp lỗi sau, tôi đang tìm cách giải quyết. Xin hãy tư vấn.

The working directory for Vagrant doesn't exist! This is the
specified working directory:

/Users/steven/projects/php/vagrant-laravel

Câu trả lời:


247

Bạn nên sử dụng lệnh sau để xóa các mục nhập không hợp lệ khỏi chỉ mục chung:

vagrant global-status --prune

Chà, rất vui khi đó là một câu trả lời được chấp nhận và tán thành, nhưng điều này "lược bớt" danh sách trạng thái toàn cầu. Có nghĩa là máy ảo không còn hiển thị trong danh sách. Tuy nhiên, bản thân VM vẫn còn nguyên. Có nghĩa là người ta vẫn phải hủy đăng ký và xóa nó theo cách thủ công. Điều rất đơn giản là người lang thang sẽ thực hiện đúng công việc của nó khi được cho$ vagrant destroy -f <id>
silverdr 14/12/15

Đầu ra của vagrant global-status --pruneđúng là không nhận biết được các thư mục Vagrant đã xóa vì kiến ​​thức của Vagrant về VM mà nó quản lý trong thư mục đó đã bị xóa khi các tệp của nó quản lý VM. Bây giờ là vấn đề của hypervisor.
bschlueter

Cảm ơn!! Tôi đã tìm kiếm này một thời gian dài
Jean-Marc Amon

17

Tôi cũng có vấn đề này. Tôi đã có thể sửa nó bằng cách sửa đổi nội dung của ~/.vagrant.d/data/machine-index/index. Nó ở định dạng JSON nên tôi vừa xóa dữ liệu liên quan đến các phiên bản không còn tồn tại.

Tôi chỉ xóa dữ liệu liên quan đến các trường hợp không còn tồn tại. Tôi sẽ không sửa đổi bất kỳ dữ liệu nào liên quan đến một phiên bản tồn tại trong hệ thống tệp.


Tôi thấy điều này hữu ích để chỉ xóa các hộp trạng thái toàn cục, thường bị tắt khi tôi khởi động lại máy chủ (máy mac của tôi). Nó khiến tôi tự hỏi trạng thái toàn cầu làm gì và liệu nó có ảnh hưởng đến việc kích hoạt lại hộp hay không.
kaplan

14

--prunekhông hiệu quả với tôi. Tôi đã xóa ~/.vagrant, ~/.vagrant.d.vagrant. Và loại bỏ thủ công các máy ảo tồn đọng.

Tôi đã di chuyển trở lại gemsboxestừ bản gốc ~/.vagrant.d. Có lẽ người ta có thể thử chỉ loại bỏ máy tính .vagrantnhưng tôi đã không kiểm tra điều đó.


2
Tôi đã gặp sự cố này khi thư mục chứa hình ảnh lang thang đã bị xóa. --prune không thành công nhưng rm -rf ~ / .vagrant * hoạt động. Chạy trạng thái toàn cầu lang thang sau khi tạo lại các thư mục thích hợp. (Điều này loại bỏ tất cả các hộp tải về họ sẽ được tái tải trên lên lang thang tiếp theo khi cần thiết)
Tommy Strand

1

Sử dụng vagrant box remove -f [name]

Nó hoạt động. Đảm bảo!


0

Tôi đã sử dụng

vagrant global-status --prune
vagrant box remove -f [name]

Ngoài ra tôi đã loại bỏ

~/.vagrant, ~/.vagrant.d and .vagrant. 

Và loại bỏ thủ công các máy ảo tồn đọng nếu tồn tại.

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.