How do you re-install a package with Homebrew (Mac)?

161,223

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.

Share:
161,223
Meltemi
Author by

Meltemi

Updated on September 18, 2022

Comments

  • Meltemi
    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 first brew uninstall imagemagick or go ahead and brew 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
    Aron Ahmadia over 10 years
    brew reinstall appears to be rather dangerous, since it currently does not preserve installed options.
  • Johnny Utahh
    Johnny Utahh about 10 years
    I 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
    Nick McCurdy almost 10 years
    I 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
    ryanwinchester almost 9 years
    can i do reinstall with options?
  • Cecil Curry
    Cecil Curry over 8 years
    Both brew reinstall and brew 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
    Django Reinhardt over 7 years
    This is very out of date. See the answer below from @Nelson.
  • StackHub
    StackHub almost 7 years
    @DjangoReinhardt in spite of the appearance of brew reinstall I still think it's objectively better to brew uninstall and then brew install again. See discussion on @Nelson's answer for why.
  • cambunctious
    cambunctious about 6 years
    well I learned a new word today
  • Jason
    Jason over 3 years
    When referring to options, is this the options (config files) for the packages, or for Homebrew??? Thanks
  • rogerdpack
    rogerdpack about 2 years
    Looks like reinstall preserves options these days: github.com/Homebrew/brew/issues/5327#issuecomment-439495923 (though main formulae don't have options anymore :) )
  • Pathros
    Pathros about 2 years
    @AronAhmadia It looks like it now preserves the installed options. I have just ran brew reinstall for DBeaver and my db connections were flawlessly preserved.