ฉันจะลบแพ็กเกจ Homebrew ที่ล้าสมัยรุ่นที่ติดตั้งแล้วได้อย่างไร


216

ฉันจะลบแพ็กเกจHomebrew ที่ล้าสมัยที่ติดตั้งแบบเคียงข้างกันกับเวอร์ชันปัจจุบันได้อย่างไร


3
ตั้งแต่เวอร์ชั่น2.0.0 ล้างเกิดขึ้นโดยอัตโนมัติเว้นแต่คุณจะเลือกออก
Katrin Leinweber

คำตอบ:


333

ทำความสะอาด ( brew cleanup) คำสั่งจะลบเก่ารุ่นที่ติดตั้งแพคเกจ ส่งผลกระทบต่อแพคเกจโดยเฉพาะอย่างยิ่ง / brew cleanup $FORMULAสูตรคุณอาจใส่ชื่อสูตรเช่นดังนั้น: เพื่อจำลองการทำความสะอาดคือเห็นสิ่งที่จะถูกลบออกคุณอาจจะใช้ตัวเลือก:-nbrew cleanup -n


30
สำหรับบันทึก: brew cleanupเพียง แต่ทำความสะอาดล้าสมัยรุ่นแพคเกจถ้าคุณมีรุ่นใหม่ล่าสุดติดตั้งเพื่อให้เป็นครั้งแรกbrew upgradeแล้วbrew cleanup
ม.ค.

38
อึศักดิ์สิทธิ์ นั่นเพิ่งให้ฉันมากกว่า 3G กลับ ใครจะรู้ว่า ...
Alper

38
This operation has freed approximately 17.2GB of disk space.
fvgs

11
พระเจ้าช่วย! ฉันเพิ่งกลับมามากกว่า 12GB ของพื้นที่ WooHoo!
Richard Hurt

3
ว้าวมูลค่าหนึ่งปีที่upgradeไม่มีcleanupซอฟต์แวร์ 17.6GB ที่ไม่ได้ใช้สำหรับฉัน! (ตรวจสอบด้วยbrew cleanup -nซึ่งไม่ได้ลบอะไรเลย) ขอบคุณสำหรับคำตอบนี้ :)
เอริค

80

@ aknuds1 ถูกต้องเกี่ยวกับbrew cleanupดังนั้นฉันจะเพิ่มว่าฉันมีนามแฝงในของฉัน~/.profileที่จะล้างข้อมูลที่เกี่ยวข้องกับการชงของฉันทั้งหมดรวมถึงการปรับปรุง / ล้างถัง

alias brewski='brew update && brew upgrade && brew cleanup; brew doctor'

ฉันลงท้ายด้วยbrew doctorเพื่อให้แน่ใจว่าแพคเกจทั้งหมดawscliมีการเชื่อมโยงอย่างถูกต้องเช่นดูเหมือนว่าจะมีปัญหากับสิ่งนี้เป็นประจำดังนั้นฉันจึงต้องยกเลิกการเชื่อมโยง / ลิงก์ซ้ำ หวังว่านี่จะช่วยได้


แก้ไข:ตามที่มันชี้ให้ฉันในความคิดเห็นbrew caskฟังก์ชั่นได้รับการรวมเป็นหลัก homebrew คำสั่งเหล่านี้ยังมีการโยนข้อผิดพลาดดังนั้นการอ้างอิงถึงbrew caskถูกลบไปแล้ว

แก้ไข 2:เมื่อฉันเรียกใช้ทุกวันฉันสังเกตเห็นความคิดเห็นต่อไปนี้วันนี้ ฉันได้อัปเดตคำสั่งตามนั้น

    Warning: We decided to not change the behaviour of `brew upgrade` so
    `brew upgrade --all` is equivalent to `brew upgrade` without any other
    arguments (so the `--all` is a no-op and can be removed).

3
คุณไม่จำเป็นต้องทำbrew upgrade brew-caskอีกต่อไปเนื่องจากคำขอการดึงนี้ brew updateจะอัปเกรด homebrew-cask โดยอัตโนมัติเช่นกัน
Lantrix

1
@ Lantrix ขอบคุณสำหรับการปรับปรุง ฉันได้แก้ไขคำตอบเพื่อให้สอดคล้องกับการเปลี่ยนแปลงนี้
SaxDaddy

2
brew upgrade --cleanupจะลบแพ็คเกจเก่าออกเมื่อติดตั้งแพ็คเกจใหม่
Zenexer

ฉันไม่แนะนำให้ใช้brew upgradeแต่แทนที่จะใช้brew outdatedแล้วอัพเกรดแพ็คเกจแต่ละอันด้วยbrew upgrade PACKAGEวิธีการที่คุณสามารถควบคุมได้มากขึ้น
Pedro Luz

ในฐานะที่brew upgradeเป็นคำสั่งเดียวที่จะอัพเกรดแพ็คเกจทั้งหมดมันทำงานได้ดีสำหรับระบบอัตโนมัติ คุณสามารถเลือกpinรุ่นแพ็คเกจที่คุณต้องการเก็บและอัพเกรดที่เหลือทั้งหมดในครั้งเดียว
SaxDaddy

34

สำหรับระเบียนคุณสามารถล้างแพ็คเกจที่ล้าสมัยที่คุณกำลังจะอัพเกรดโดยใช้แฟล็ก --cleanup:

brew upgrade --cleanup <package_name>

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