What is 0 homebrew?
"Homebrew installs the stuff you need so Apple didn ' t.--homebrew makes OS X more complete."
Homebrew's official website [1] (Multi-lingual version) provides a simple and concise description of how to install and use this tool and provide your own wiki.
1 Installing Homebrew
The installation of brew is simple, with a ruby command, and Ruby is already installed on the MAC system by default.
Gerryyang@mba:bin$ruby--version
Ruby 2.0.0p247 (2013-06-27 revision 41674) [Universal.x86_64-darwin13]
For detailed instructions on installing brew, refer to the wiki instructions on GitHub [2]:
"
Installation
The suggested and easiest-to-install Homebrew is on the homepage. We don ' t duplicate it's here because it's asecurity risk to list it on a user-editable wiki.
The standard script installs Homebrew to/usr/localso this you don't need sudo when youbrew install. It is acareful script, the It can be run even if you have stuff installed To/usr/localalready. It tells exactly what it would do before itdoes it too. And you had to confirm everything it would do before itstarts.
There is other ways to the install Homebrew which provide you with moreflexibility. They is listed below the requirements.
"
- Gerryyang@mba: ~ $ruby-E "$ (curl-fssl https://raw.github.com/Homebrew/homebrew/go/install)"
- It appears Homebrew is already installed. If your intent is to reinstall you
- Should do the following before running this installer again:
- Rm-rf/usr/local/cellar/usr/local/.git && Brew Cleanup
Since brew is already installed on my system, executing the installation command again will prompt me that brew already exists.
2 Usage of homebrew
To view the specific uses of brew:
- Gerryyang@mba: ~ $brew
- Example usage:
- Brew [INFO | home | options] [FORMULA ...]
- Brew Install FORMULA ...
- Brew Uninstall FORMULA ...
- Brew Search [foo]
- Brew list [FORMULA ...]
- Brew Update
- Brew upgrade [FORMULA ...]
- Brew Pin/unpin [FORMULA ...]
- Troubleshooting:
- Brew Doctor
- Brew INSTALL-VD FORMULA
- Brew [--env |--config]
- Brewing:
- Brew Create [URL [--no-fetch]]
- Brew edit [FORMULA ...]
- Open Https://github.com/Homebrew/homebrew/wiki/Formula-Cookbook
- Further help:
- Mans Brew
- Brew Home
- Gerryyang@mba: ~$
3 Interesting questions about homebrew
Here are some common questions about homebrew [3]:
(1) In OS X cannot find the desired software, you can use the brew installation;
- Gerryyang@mba: ~ $brew Install wget
- ==> Downloading http://ftpmirror.gnu.org/wget/wget-1.14.tar.gz
- ######################################################################## 100%
- ==>./configure--prefix=/usr/local/cellar/wget/1.14--sysconfdir=/usr/local/etc
- ==> make Install
- Warning:could not link wget. Unlinking ...
- Error:the ' Brew link ' step did not complete successfully
- The formula built, but was not symlinked into/usr/local
- You can try again using ' Brew link wget '
- Possible conflicting files are:
- /usr/local/bin/wget
- /usr/local/share/man/man1/wget.1
- ==> Summary
- <span style= "font:13.0px Monaco" >/usr/local/cellar/wget/1.14:8 files, 688K, built in 2.3 minutes</span>
Since the wget was previously installed using the source code method, a conflicting error will be prompted with the brew installation because/usr/locat/bin/wget already exists. In fact, Homebrew the package into a separate directory (/usr/local/cellar) and then symlink to/usr/local.
(2) How do I update a locally installed package?
First step: Update Brew First:
Brew Update
- [Email Protected]:bin$brew Update
- Already up-to-date.
Step Two: Update all package:
Brew Upgarde
- [Email protected]:bin$brew upgrade
- ==> upgrading 1 Outdated package with result:
- wget 1.15
- ==> Upgrading wget
- ==> Installing wget Dependency:openssl
- ==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/openssl-1.0
- ######################################################################## 100%
- ==> Pouring openssl-1.0.1f.mavericks.bottle.tar.gz
- ==> Caveats
- This formula are keg-only, so it's not symlinked into/usr/local.
- Mac OS X already provides this software and installing another version in
- Parallel can cause all kinds of trouble.
- The OpenSSL provided by OS X are too old for some software.
- Generally there is no consequences of this. If You build your
- Own software and it requires this formula, you'll need to the add to your
- Build variables:
- Ldflags:-l/usr/local/opt/openssl/lib
- Cppflags:-i/usr/local/opt/openssl/include
- ==> security find-certificate-a-p/library/keychains/system.keychain > '/usr/l
- ==> Security Find-certificate-a-p/system/library/keychains/systemrootcertific
- ==> mv-f/usr/local/etc/openssl/osx_cert.pem.tmp/usr/local/etc/openssl/osx_cer
- ==> Summary
- /usr/local/cellar/openssl/1.0.1f:429 files, 15M
- ==> Installing wget
- ==> Downloading http://ftpmirror.gnu.org/wget/wget-1.15.tar.gz
- ######################################################################## 100%
- ==>./configure--prefix=/usr/local/cellar/wget/1.15--sysconfdir=/usr/local/etc--with-ssl=openssl-- With-libssl-prefix=/usr/local/opt/openssl--disable-iri
- ==> make Install
- Warning:could not link wget. Unlinking ...
- Error:the ' Brew link ' step did not complete successfully
- The formula built, but was not symlinked into/usr/local
- You can try again using ' Brew link wget '
- Possible conflicting files are:
- /usr/local/bin/wget
- /usr/local/share/man/man1/wget.1
- ==> Summary
- /usr/local/cellar/wget/1.15:8 files, 700K, built in seconds
- [Email protected]:bin$
(3) How to delete homebrew?
If you installed to/usr/localthen your can use the script on Thisgist to uninstall-it would onlyremove Homebrew and the St Uff Homebrew installed leaving anything elsein/usr/localalone.
Provided haven ' t put anything else in Homebrew ' s prefix (brew--prefix), you can generally justrm-rfthat directory. Thisis because Homebrew won ' t touch files outside its prefix.
(4) Where is the path of the package stored by homebrew download?
- [email protected]:bin$brew --cache
- /library/caches/homebrew
- [email protected]:bin$ls /library/caches/homebrew/
- formula/ wget-1.14.tar.gz
- coreutils-8.22.tar.xz wget-1.15.tar.gz
- openssl-1.0.1f.mavericks.bottle.tar.gz xz-5.0.5.mavericks.bottle.2.tar.gz
- [email protected]:bin$ls /library/ caches/homebrew/formula/
- coreutils.brewing openssl.brewing wget.brewing xz.brewing
-
- [email protected]:bin$
(5) Can I install my own stuff in/usr/local?
Yes, Brew is designed-not get-in your-on-the-youlike.
Install your own stuff, but being aware that if you install commonlibraries, like libexpat yourself, it may cause trouble whe n trying tobuild certain Homebrew formula. As a resultbrew Doctorwill warn Youabout this.
Thus it ' s probably better to install your own stuff to the Cellar andthenbrew Linkit. Like so:
$ cd foo-0.1 $ brew diy./configure —prefix=/usr/local/Cellar/foo/0.1 $ ./configure —prefix=/usr/local/Cellar/foo/0.1 [snip] $ make && make install $ brew link fooLinking /usr/local/Cellar/foo/0.1… 17 symlinks created
Detection in my environment is like this:
- [Email Protected]:bin$brew doctor
- Warning:unbrewed dylibs were found in/usr/local/lib.
- If you didn ' t put them there on purpose they could cause problems when
- Building Homebrew formulae, and may need to be deleted.
- Unexpected dylibs:
- /usr/local/lib/libboost_atomic.dylib
- /usr/local/lib/libboost_chrono.dylib
- /usr/local/lib/libboost_context.dylib
- /usr/local/lib/libboost_date_time.dylib
- /usr/local/lib/libboost_filesystem.dylib
- /usr/local/lib/libboost_graph.dylib
- /usr/local/lib/libboost_iostreams.dylib
- /usr/local/lib/libboost_locale.dylib
- /usr/local/lib/libboost_log.dylib
- /usr/local/lib/libboost_math_c99.dylib
- /usr/local/lib/libboost_math_c99f.dylib
- /usr/local/lib/libboost_math_c99l.dylib
- /usr/local/lib/libboost_math_tr1.dylib
- /usr/local/lib/libboost_math_tr1f.dylib
- /usr/local/lib/libboost_math_tr1l.dylib
- /usr/local/lib/libboost_prg_exec_monitor.dylib
- /usr/local/lib/libboost_program_options.dylib
- /usr/local/lib/libboost_python.dylib
- /usr/local/lib/libboost_random.dylib
- /usr/local/lib/libboost_regex.dylib
- /usr/local/lib/libboost_serialization.dylib
- /usr/local/lib/libboost_signals.dylib
- /usr/local/lib/libboost_system.dylib
- /usr/local/lib/libboost_thread.dylib
- /usr/local/lib/libboost_timer.dylib
- /usr/local/lib/libboost_unit_test_framework.dylib
- /usr/local/lib/libboost_wave.dylib
- /usr/local/lib/libboost_wserialization.dylib
- Warning:unbrewed static libraries were found in/usr/local/lib.
- If you didn ' t put them there on purpose they could cause problems when
- Building Homebrew formulae, and may need to be deleted.
- Unexpected static libraries:
- /usr/local/lib/libboost_atomic.a
- /usr/local/lib/libboost_chrono.a
- /usr/local/lib/libboost_context.a
- /usr/local/lib/libboost_coroutine.a
- /usr/local/lib/libboost_date_time.a
- /usr/local/lib/libboost_exception.a
- /usr/local/lib/libboost_filesystem.a
- /usr/local/lib/libboost_graph.a
- /usr/local/lib/libboost_iostreams.a
- /usr/local/lib/libboost_locale.a
- /usr/local/lib/libboost_log.a
- /usr/local/lib/libboost_math_c99.a
- /usr/local/lib/libboost_math_c99f.a
- /usr/local/lib/libboost_math_c99l.a
- /usr/local/lib/libboost_math_tr1.a
- /usr/local/lib/libboost_math_tr1f.a
- /usr/local/lib/libboost_math_tr1l.a
- /usr/local/lib/libboost_prg_exec_monitor.a
- /usr/local/lib/libboost_program_options.a
- /usr/local/lib/libboost_python.a
- /usr/local/lib/libboost_random.a
- /usr/local/lib/libboost_regex.a
- /usr/local/lib/libboost_serialization.a
- /usr/local/lib/libboost_signals.a
- /usr/local/lib/libboost_system.a
- /usr/local/lib/libboost_test_exec_monitor.a
- /usr/local/lib/libboost_thread.a
- /usr/local/lib/libboost_timer.a
- /usr/local/lib/libboost_unit_test_framework.a
- /usr/local/lib/libboost_wave.a
- /usr/local/lib/libboost_wserialization.a
- Warning:you has unlinked kegs in your Cellar
- Leaving kegs unlinked can leads to build-trouble and cause brews this depend on
- Those kegs to fail to run properly once built. Run ' Brew link ' on these:
- Wget
- [Email protected]:bin$
(6) Why choose the name homebrew?
MXCL is too concerned with the beer theme and didn ' t consider, that the project may actually prove popular. By the time he realized it is too late. However, today, the first Google hit for "homebrew" are not beer related;-)
(7) For more QA can refer to Homebrew's wiki[4]
(8) Some common installation recommendations
- [Email protected]:bin$brew list
- Coreutils OpenSSL wget XZ
Introduction to Coreutils
The GNU Core Utilities is the basic file, shell and text manipulationutilities of the GNU operating system.
These is the core Utilitieswhich is expected to exist on every operating system.
http://www.gnu.org/software/coreutils/
4 references
[1] http://brew.sh/index_zh-cn.html
[2] https://github.com/Homebrew/homebrew/wiki/Installation
[3] Https://github.com/Homebrew/homebrew/wiki/FAQ
[4] Https://github.com/Homebrew/homebrew/wiki
Homebrew on Mac uses--homebrew to make OS X more complete