Post

Ignore upgrade formula on brew

Ignore upgrade formula on brew

ในบางครั้งเวลาอัพเกรด brew แล้วเจอบาง formula ที่อัพเกรดไม่ได้ — จะด้วยว่า macOS เก่าไป, version ใหม่มี breaking change, หรืออยากให้ version ตรงกับ team/CI ก็ตามแต่ เราสามารถ ignore มันได้โดยใช้คำสั่ง:

1
brew pin [formula]

ดูว่า pin อะไรไว้บ้าง:

1
brew list --pinned

และหากต้องการจะนำมาอัพเกรดอีกครั้งก็สั่ง:

1
brew unpin [formula]

brew pin ป้องกันเฉพาะ brew upgrade และ brew upgrade <formula> เท่านั้น ถ้ารัน brew install --upgrade <formula> หรือ brew reinstall ตรงๆ มันยังอัพเกรดได้

ทางเลือก

Versioned formula — ถ้าอยากใช้ version เฉพาะระยะยาว install ตรงไปจะคลีนกว่า pin:

1
2
brew install postgresql@14
brew install node@20

HOMEBREW_NO_AUTO_UPDATE=1 — กัน brew auto-update ทุกครั้งที่รัน install (เร็วขึ้นด้วย) ใส่ใน ~/.zshrc หรือ ~/.bashrc:

1
export HOMEBREW_NO_AUTO_UPDATE=1

บางทีก็รำคาญเวลามัน log error ออกมาเยอะ

References

This post is licensed under CC BY 4.0 by the author.