From Wikimedia Commons, the free media repository. Jump to navigation Jump to search Q3003711 district of the city of Strasbourg, France. Upload media: Instance of: District of the city of Strasbourg, France, neighborhood: Location: Strasbourg, Bas-Rhin, Grand Est, Metropolitan France, France: 48° 35′ 48.12″ N, 7° 43′ 13.8″ E.
All your terminology needs can be found here.
First update the formulae and Homebrew itself:
You can now find out what is outdated with:
Upgrade everything with:
Or upgrade a specific formula with:
To stop something from being updated/upgraded:
To allow that formulae to update again:
Note that pinned, outdated formulae that another formula depends on need to be upgraded when required, as we do not allow formulae to be built against outdated versions. If this is not desired, you can instead brew extract
to maintain your own copy of the formula in a tap.
To uninstall Homebrew, run the uninstall script from the Homebrew/install repository.
Homebrew automatically uninstalls old versions of a formula after that formula is upgraded with brew upgrade
, and periodically performs additional cleanup every 30 days.
To disable automatic brew cleanup
:
When automatic brew cleanup
is disabled, if you uninstall a formula, it will only remove the latest version you have installed. It will not remove all versions of the formula that you may have installed in the past. Homebrew will continue to attempt to install the newest version it knows about when you run brew upgrade
. This can be surprising.
In this case, to remove a formula entirely, you may run brew uninstall --force <formula>
. Be careful as this is a destructive operation.
brew upgrade <formula>
also upgrade a bunch of other stuff?Homebrew doesn’t support arbitrary mixing and matching of formula versions, so everything a formula depends on, and everything that depends on it in turn, needs to be upgraded to the latest version as that’s the only combination of formulae we test. As a consequence any given upgrade
or install
command can upgrade many other (seemingly unrelated) formulae, if something important like python
or openssl
also needed an upgrade.
Which is usually: ~/Library/Caches/Homebrew
.app
s don’t find /usr/local/bin
utilities!GUI apps on macOS don’t have /usr/local/bin
in their PATH
by default. If you’re on Mountain Lion or later, you can fix this by running sudo launchctl config user path '/usr/local/bin:$PATH'
and then rebooting, as documented in man launchctl
. Note that this sets the launchctl PATH
for all users. For earlier versions of macOS, see this page.
Read our contribution guidelines.
Homebrew provides pre-compiled versions for many formulae. Thesepre-compiled versions are referred to as bottles and are availableat https://github.com/Homebrew/homebrew-core/packages.
If available, bottled binaries will be used by default except under thefollowing conditions:
brew install <formula>
will use a bottled version of the formula, butbrew install --enable-bar <formula>
will trigger a source build.--build-from-source
option is invoked./usr/local
(although some bottles support this).We aim to bottle everything.
Homebrew’s pre-built binary packages (known as bottles) of many packages can only be used if you install in the default installation prefix, otherwise they have to be built from source. Building from source takes a long time, is prone to fail, and is not supported. Do yourself a favour and install to the default prefix so that you can use our pre-built binary packages. The default prefix is /usr/local
for macOS on Intel, /opt/homebrew
for macOS on ARM, and /home/linuxbrew/.linuxbrew
for Linux. Pick another prefix at your peril!
/usr/local
?/usr/local/bin
is already in yourPATH
./usr
or /usr/local
. Wefix this for Homebrew formulae (although we don’t always test forit), but you’ll find that many RubyGems and Python setup scriptsbreak which is something outside our control./usr/local
by default, so thereis no need to worry about messing up existing or system tools.If you plan to install gems that depend on formulae then save yourself a bunch of hassle and install to /usr/local
!
It is not always straightforward to tell gem
to look in non-standard directories for headers and libraries. If you choose /usr/local
, many things will “just work”.
/home/linuxbrew/.linuxbrew
on Linux?The prefix /home/linuxbrew/.linuxbrew
was chosen so that users without admin access can ask an admin to create a linuxbrew
role account and still benefit from precompiled binaries. If you do not yourself have admin privileges, consider asking your admin staff to create a linuxbrew
role account for you with home directory /home/linuxbrew
.
tl;dr Sudo is dangerous, and you installed TextMate.app without sudoanyway.
Homebrew refuses to work using sudo.
You should only ever sudo a tool you trust. Of course, you can trust Homebrew😉 But do you trust the multi-megabyte Makefile that Homebrew runs? Developersoften understand C++ far better than they understand make syntax. It’s too higha risk to sudo such stuff. It could modify (or upload) any files on yoursystem. And indeed, we’ve seen some build scripts try to modify /usr
even whenthe prefix was specified as something else entirely.
We use the macOS sandbox to stop this but this doesn’t work when run as the root
user (which also has read and write access to almost everything on the system).
Did you chown root /Applications/TextMate.app
? Probablynot. So is it that important to chown root wget
?
If you need to run Homebrew in a multi-user environment, considercreating a separate user account especially for use of Homebrew.
If it’s not in man brew
, it’s probably an external command. These are documented here.
If it’s been a while, bump it with a “bump” comment. Sometimes we miss requests and there are plenty of them. Maybe we were thinking on something. It will encourage consideration. In the meantime if you could rebase the pull request so that it can be cherry-picked more easily we will love you for a long time.
Yes! It’s easy! Just brew edit <formula>
. You don’t have to submit modifications back to homebrew/core
, just edit the formula as you personally need it and brew install <formula>
. As a bonus brew update
will merge your changes with upstream so you can still keep the formula up-to-date with your personal modifications!
Yes! It’s easy! Just brew create URL
. Homebrew will then open the formula inEDITOR
so you can edit it, but it probably already installs; try it: brewinstall <formula>
. If you encounter any issues, run the command with the--debug
switch like so: brew install --debug <formula>
, which drops youinto a debugging shell.
If you want your new formula to be part of homebrew/core
or wantto learn more about writing formulae, then please read the Formula Cookbook.
/usr/local
?Yes, brew
is designed to not get in your way so you can use it how youlike.
Install your own stuff, but be aware that if you install commonlibraries like libexpat yourself, it may cause trouble when trying tobuild certain Homebrew formula. As a result brew doctor
will warn youabout this.
Thus it’s probably better to install your own stuff to the Cellar andthen brew link
it. Like so:
Use brew log <formula>
to find out! Likely because it had unresolved issues and/or our analytics identified it was not widely used.
For disabled and deprecated formulae, running brew info <formula>
will also provide an explanation.
Homebrew’s creator @mxcl was too concerned with the beer theme and didn’t consider that the project may actually prove popular. By the time Max realised that it was popular, it was too late. However, today, the first Google hit for “homebrew” is not beer related 😉
It means the formula is installed only into the Cellar and is not linked into /usr/local
. This means most tools will not find it. You can see why a formula was installed as keg-only, and instructions to include it in your PATH
, by running brew info <formula>
.
You can still link in the formula if you need to with brew link <formula>
, though this can cause unexpected behaviour if you are shadowing macOS software.
brew edit <formula>
and edit the formula. Currently there is noother way to do this.
Chances are that certain apps will give you a popup message like this:
This is a security feature from Apple. The single most important thing to know is that you can allow individual apps to be exempt from that feature. This allows the app to run while the rest of the system remains under protection.
Always leave system-wide protection enabled, and disable it only for specific apps as needed.
If you are sure you want to trust the app, you can disable protection for that app by right-clicking its icon and choosing Open
:
Finally, click the Open
button if you want macOS to permanently allow the app to run on this Mac. Don’t do this unless you’re sure you trust the app.
Alternatively, you may provide the --no-quarantine
flag at install time to not add this feature to a specific app.
upgrade
After running brew upgrade
, you may notice some casks you think should be upgrading, aren’t.
As you’re likely aware, a lot of macOS software can upgrade itself:
That could cause conflicts when used in tandem with Homebrew Cask’s upgrade
mechanism.
If you upgrade software through it’s built-in mechanism, that happens without Homebrew Cask’s knowledge so both versions get out of sync. If you then upgraded through Homebrew Cask and we have a lower version on the software on record, you’d get a downgrade.
There are a few ideas to fix this problem:
url
s (a definite win for maintainability). That solution also isn’t universal, as many software developers are inconsistent in their versioning schemes (and app bundles are meant to have two version strings) and it doesn’t work for all types of software we support.So we let software be. Installing it with Homebrew Cask should make it behave the same as if you had installed it manually. But we also want to support software that does not auto-upgrade, so we add auto_updates true
to casks of software that can do it, which excludes them from brew upgrade
.
Casks which use version :latest
are also excluded, because we have no way to track the version they’re in. It helps to ask the developers of such software to provide versioned releases (i.e. have the version in the path of the download url
).
If you still want to force software to be upgraded via Homebrew Cask, you can:
upgrade
command: brew upgrade
.--greedy
flag: brew upgrade --greedy
.Refer to the upgrade
section of the brew
manual page by running man -P 'less --pattern '^ {3}upgrade' brew
.
Instructions for a supported install of Homebrew are on the homepage.
This script installs Homebrew to its preferred prefix (/usr/local
for macOS Intel, /opt/homebrew
for Apple Silicon) so thatyou don’t need sudo when youbrew install
. It is a careful script; it can be run even if you have stuffinstalled in /usr/local
already. It tells you exactly what it will do beforeit does it too. You have to confirm everything it will do before it starts.
xcode-select --install
,developer.apple.com/downloads orXcode3bash
or zsh
) 4You can set HOMEBREW_BREW_GIT_REMOTE
and/or HOMEBREW_CORE_GIT_REMOTE
in your shell environment to use geolocalized Git mirrors to speed up Homebrew’s installation with this script and, after installation, brew update
.
The default Git remote will be used if the corresponding environment variable is unset.
Check out the Homebrew on Linux installation documentation.
Just extract (or git clone
) Homebrew wherever you want. Just avoid:
/tmp
subdirectories because Homebrew gets upset./sw
and /opt/local
because build scripts get confused when Homebrew is there instead of Fink or MacPorts, respectively.However do yourself a favour and install to /usr/local
on macOS Intel, /opt/homebrew
on macOS ARM,and /home/linuxbrew/.linuxbrew
on Linux. Some things maynot build when installed elsewhere. One of the reasons Homebrew justworks relative to the competition is because we recommend installinghere. Pick another prefix at your peril!
Create a Homebrew installation wherever you extract the tarball. Whichever brew
command is called is where the packages will be installed. You can use this as you see fit, e.g. a system set of libs in /usr/local
and tweaked formulae for development in ~/homebrew
.
Uninstallation is documented in the FAQ.
1 For 32-bit or PPC support seeTigerbrew.
2 10.14 or higher is recommended. 10.9–10.13 aresupported on a best-effort basis. For 10.4-10.6 seeTigerbrew.
3 Most formulae require a compiler. A handfulrequire a full Xcode installation. You can install Xcode, the CLT, or both;Homebrew supports all three configurations. Downloading Xcode may require anApple Developer account on older versions of Mac OS X. Sign up for freehere.
Kroy printers driver download for windows 10. 4 The one-liner installation method found onbrew.sh requires a Bourne-compatible shell (e.g. bash orzsh). Notably, fish, tcsh and csh will not work.