วิธีถอนการติดตั้งแพ็คเกจ macports ที่ไม่ได้ใช้ทั้งหมดในคราวเดียว


32

เมื่อบำรุงรักษาแพ็กเกจ macports ฉันชอบที่จะลบแพ็กเกจเก่าเมื่อแทนที่ด้วยแพ็กเกจใหม่ อย่างไรก็ตามเมื่อเวลาผ่านไปเมื่อมีการอัพเกรดแพ็คเกจคุณจะพบกับปัญหาเช่น:

$ sudo port uninstall -f postgresql83
--->  The following versions of postgresql83 are currently installed:
--->    postgresql83 @8.3.3_0
--->    postgresql83 @8.3.7_0
--->    postgresql83 @8.3.8_1 (active)
Error: port uninstall failed: Registry error: Please specify the full version as recorded in the port registry.

มีคำสั่ง macports เพื่อลบแพ็คเกจทั้งหมดในคราวเดียวหรือไม่?

คำตอบ:


38

หากคุณต้องการถอนการติดตั้งเวอร์ชันเก่า (ไม่ทำงาน) ให้ลองทำดังนี้:

port -y -u uninstall
  # if you like what you see, change “port -y” to “sudo port”

หากคุณหมายความว่าคุณต้องการถอนการติดตั้งเวอร์ชันทั้งหมด (ไม่ทำงานและไม่ทำงาน) ของ (เช่น) postgresql83พอร์ตให้ลองวิธีนี้:

port -y uninstall installed and postgresql83
  # if you like what you see, change “port -y” to “sudo port”

ใช้งานได้ดีสำหรับฉันพอร์ตที่แย่เกินไปไม่รองรับการอัปเดตของ postgres84 โดยอัตโนมัติ
Dana the Sane

2
@Dana the Sane หากคุณหมายถึงการลบแพ็คเกจที่ขึ้นอยู่กับ postgres84 โดยอัตโนมัติคุณสามารถใช้อาร์กิวเมนต์ --follow-dependents
นิค

@Nick ฉันจะลองอีกครั้งเมื่อฉันถอนการติดตั้งบางสิ่ง
Dana the Sane

วิธีที่สองใช้งานได้ดีสำหรับฉัน แต่วิธีแรกที่-uดูเหมือนจะให้คำเตือนเดียวกันเกี่ยวกับการติดตั้งหลายเวอร์ชันราวกับว่าฉันไม่ได้ใช้-uเลย
matt b

คำสั่งเหล่านี้ใช้ไม่ได้ (บน Mac OSX Mavericks)
bzero

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.