pangratz
pangratz

Reputation: 16143

How to tell brew to skip one formula when doing brew upgrade?

I want to do a brew upgrade and tell homebrew do not upgrade the erlang formula since the latest one does not work on my system.

Is it possible do do something like homebrew upgrade --skip erlang?

Upvotes: 111

Views: 23092

Answers (4)

pangratz
pangratz

Reputation: 16143

I finally found an answer: since commit 85eb73ce there is a pin subcommand available. So ignoring a formula on brew upgrade is as simple as pinning it via brew pin <formula>. To un-pin it, simply invoke brew unpin <formula>.

It is worth noting that brew upgrade <formula> will still update the formula regardless of whether or not it is pinned.

Upvotes: 195

Khurram Raza
Khurram Raza

Reputation: 698

brew pin is the way to go. It will pin the formula to the current version

brew pin <formula>

brew unpin can be used to reset this

brew unpin <formula>

To view all pinned formulae

brew list --pinned

Note: brew upgrade will not upgrade pinned formulae.

Upvotes: 52

tienbuiDE
tienbuiDE

Reputation: 183

i had a similar 'problem'. i installed libfreenect (unstable) directly on my system. and now i dont want homebrew to upgrade it. i solved it by deleting following file:

/usr/local/Library/Formula/libfreenect.rb

analogous it would be /usr/local/Library/Formula/erlang.rb for you

Upvotes: 1

eagleflo
eagleflo

Reputation: 1204

You could upgrade erlang to the latest version but keep using the older working version with the brew commands versions and switch.

To list available versions use:

brew versions erlang

To switch between two installed versions (I'll presume you wanted erlang R14):

brew switch erlang R14B04

Upvotes: 7

Related Questions