ฉันลบโฟลเดอร์ที่มีกล่อง Vagrant ที่กำลังทำงานอยู่ก่อนที่จะรู้ตัวว่ายังทำงานอยู่
ฉันจะลบออกจาก Vagrant (global-status) ได้อย่างไร?
ฉันได้ลบ Virtualbox VM แล้ว
ฉันลบโฟลเดอร์ที่มีกล่อง Vagrant ที่กำลังทำงานอยู่ก่อนที่จะรู้ตัวว่ายังทำงานอยู่
ฉันจะลบออกจาก Vagrant (global-status) ได้อย่างไร?
ฉันได้ลบ Virtualbox VM แล้ว
คำตอบ:
หากต้องการทิ้งกล่องเก่าที่อยู่ในรายการvagrant global-status(เช่นคุณลบโฟลเดอร์ที่มี.vagrantdir ออกจากระบบไฟล์) คุณเพียงแค่เรียกใช้:
vagrant global-status --prune
คุณอาจต้องลบ Virtual Machine โดยตรงจากอินเทอร์เฟซการควบคุมของผู้ให้บริการ (VMWare, Virtualbox, .. )
--pruneตัวเลือกการทำงานสำหรับสถานการณ์ของฉันเช่นกัน ขอบคุณ!
~/.vagrant.d/data/machine-indexและลบรายการที่ละเมิดด้วยตนเอง
~/.vagrant.dผมเชื่อว่าชื่อไฟล์ใหม่ของข้อมูลทั่วโลกคือ
ดังนั้นคุณสามารถเรียกใช้rm -r ~/.vagrant.dเพื่อลบข้อมูลผู้ใช้ทั้งหมดเพื่อเริ่มต้นใหม่
สำหรับกรณีของฉัน: ที่ห้องครัวและ. ห้องครัว / โฟลเดอร์อาจมีไฟล์คนจรจัดที่ซ่อนอยู่ซึ่งสร้างโดย
$ kitchen create
ฉันต้องไปให้ไกลกว่าการทำลายครัวหรือการทำลายคนจรจัดหรือแม้แต่คนเร่ร่อนทำลาย machineID (จากสถานะโลกเร่ร่อน - ซึ่งให้รายการอินสแตนซ์เร่ร่อนในพื้นที่ผู้ใช้ของคุณ)
ในกรณีของฉันฉันต้องลบไฟล์ล็อคเครื่องคนจรจัดที่มีอยู่ในไดเรกทอรีที่ซ่อนอยู่ของผู้ใช้.
$ rm -r ~/.vagrant/data
และในกรณีของฉันฉันต้อง sudo คำสั่งด้านบน
แล้วในที่สุดฉันก็สะอาด
$ vagrant global-status
รายการ
แรกที่คุณใช้รายการทั้งหมดเครื่องจรจัดและสถานะของพวกเขาและvagrant global-statusids
จากนั้นคุณสามารถใช้:
vagrant destroy -f the_id_of_the_machine
หลังจากนั้นหากคุณเรียกใช้vagrant global-statusอีกครั้งคุณจะพบว่า ID ที่คุณระบุในvagrant destroy -fคำสั่งถูกลบออกจากรายการ
จากนั้นคุณอาจต้องรีสตาร์ทเครื่องอย่างไรก็ตามคำสั่งเหล่านี้จะไม่มีผลกับกล่องของคุณ
คำสั่งข้างต้นไม่ได้ลบกล่องเก่าในกรณีของฉันบนเครื่อง Windows ฉันได้ลบ.vagrantโฟลเดอร์และกล่องออกจากโฟลเดอร์ผู้ให้บริการ virtualbox แล้ว แต่กล่องยังอยู่ในไฟล์vagrant global-status list.
ดังที่กล่าวไว้ในความคิดเห็นที่กำหนดโดยvagrant upคำสั่ง:
If you believe this message is in error, please check the process
listing for any "ruby" or "vagrant" processes and kill them. Then
try again.
ดังนั้นฉันจึงฆ่าruby.exeจากรายการกระบวนการและทำสิ่งต่อvagrant global-status --pruneไป
vagrant destroy,vagrant global-statusจะยังคงรายงาน "เจ้าภาพรัฐที่ไม่รู้จัก" ปัญหา