How do you re-install a package with Homebrew (Mac)?
Solution 1
The --force
option for the install
action just overwrites any existing files on disk if the packages you're trying to install already exist. It doesn't remove files from disk like the uninstall
action does.
I'd do the brew uninstall imagemagick
first before doing an install
. With brew
I find the simplest approach is often the best: I want to reinstall something then I should remove it first with uninstall
and put it back with install
. The homebrew sandboxing does a very good job of making for clean uninstalls from your system.
If you wanted to uninstall it by hand you'd just need to look in /usr/local/bin
for any files that linke to ../Cellar/imagemagick
and delete those symlinks. Then delete /usr/local/bin/imagemagick
and it's gone. You may be left with some dependency packages that also need removal, but the core imagemagick package will have been deleted. To see what imagemagick depends on if you want to do further cleanup run:
$ brew info imagemagick
imagemagick 6.7.1-1
http://www.imagemagick.org
Depends on: jpeg, libtiff, little-cms, jasper
Not installed
Some tools will complain unless the ghostscript fonts are installed to:
/usr/local/share/ghostscript/fonts
http://github.com/mxcl/homebrew/commits/master/Library/Formula/imagemagick.rb
Solution 2
Homebrew now has a brew reinstall
command, added February 2013. It simply does an uninstall followed by an install.
Meltemi
Updated on September 18, 2022Comments
-
Meltemi over 1 year
Struggling to find good Homebrew documentation (or tutorial)...
In the mean time I need to reinstall ImageMagick that was installed with Homebrew (
brew install imagemagick
) and not sure if I should firstbrew uninstall imagemagick
or go ahead andbrew install imagemagick --disable-openmp --force
over the existing installation?!?what does
--force
actually do? is it effectively a uninstall followed by a new install with new parameters? -
Aron Ahmadia over 10 years
brew reinstall
appears to be rather dangerous, since it currently does not preserve installed options. -
Johnny Utahh about 10 yearsI can't seem to rebuild (a full rebuild, from the source) a package, have had this trouble for as long as I can remember using brew: gist.github.com/hydrostarr/9766139 . What might I be doing wrong, if anything?
-
Nick McCurdy almost 10 yearsI feel like it would generally be more useful to not preserve them. A package could break because of your install options, and ignoring those on reinstall could potentially fix an issue in some cases.
-
ryanwinchester almost 9 yearscan i do reinstall with options?
-
Cecil Curry over 8 yearsBoth
brew reinstall
andbrew upgrade
now silently preserve previously specified options. I vociferously hate this. Ideally,brew
would at least provide an option for disabling this dubious functionality. It doesn't. The only reproducible means of reinstalling packages is to manually uninstall and reinstall said packages. The Gentoo USE flag-style approach of persisting options to an editable file (e.g.,~/Library/Homebrew/options.conf
) would be vastly preferable. I always know exactly what options I want, Homebrew. (But thanks for trying to help and failing.) -
Django Reinhardt over 7 yearsThis is very out of date. See the answer below from @Nelson.
-
StackHub almost 7 years@DjangoReinhardt in spite of the appearance of
brew reinstall
I still think it's objectively better tobrew uninstall
and thenbrew install
again. See discussion on @Nelson's answer for why. -
cambunctious about 6 yearswell I learned a new word today
-
Jason over 3 yearsWhen referring to options, is this the options (config files) for the packages, or for Homebrew??? Thanks
-
rogerdpack about 2 yearsLooks like reinstall preserves options these days: github.com/Homebrew/brew/issues/5327#issuecomment-439495923 (though main formulae don't have options anymore :) )
-
Pathros about 2 years@AronAhmadia It looks like it now preserves the installed options. I have just ran
brew reinstall
forDBeaver
and my db connections were flawlessly preserved.