Mac下Homebrew简介,安装与使用
简介
Homebrew是一个包管理器,用于安装Apple没有预装但你需要的UNIX工具。(比如著名的wget)。
Homebrew会将软件包安装到独立目录(/usr/local/Cellar),并将其文件软链接至/usr/local。
Homebrew不会将文件安装到它本身目录之外,所以您可将Homebrew安装到任意位置。
Homebrew 使macOS更完整。使用gem来安装 gems、用brew来安装那些依赖包。
wget是一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理。"wget"这个名称来源于“World Wide Web”与“get”的结合。
安装
-
安装
XCode或者Command Line Tools for Xcode。Xcode可以从AppStore里下载安装,Command Line Tools for Xcode需要在终端中输入以下代码运行安装:xcode-select --install -
安装Homebrew。将以下命令粘贴至终端
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"脚本会在执行前暂停,并说明将它将做什么。
安装完成以后,需要运行
brew doctor命令检测下是否有什么冲突的地方(如没有卸载MacPorts等等)
Homebrew安装成功后,会自动创建目录/usr/local/Cellar来存放Homebrew安装的程序。
基本使用
// 搜索包
brew search mysql
// 安装包
brew install mysql
// 查看包信息,比如目前的版本,依赖,安装后注意事项等
brew info mysql
// 卸载包
brew uninstall wget
// 显示已安装的包
brew list
// 查看brew的帮助
brew –help
// 更新, 这会更新 Homebrew 自己
brew update
// 检查过时(是否有新版本),这会列出所有安装的包里,哪些可以升级
brew outdated
brew outdated mysql
// 升级所有可以升级的软件们
brew upgrade
brew upgrade mysql
// 清理不需要的版本极其安装包缓存
brew cleanup
brew cleanup mysql
brew update 卡住
主要是资源访问太慢的原因造成的,替换一下镜像就可以了
查看当前Homebrew 镜像源
# brew.git镜像源
git -C "$(brew --repo)" remote -v
# homebrew-core.git镜像源
git -C "$(brew --repo homebrew/core)" remote -v
# homebrew-cask.git镜像源
git -C "$(brew --repo homebrew/cask)" remote -v
科大真香实例
# 替换brew.git:
git -C "$(brew --repo)" remote set-url origin https://mirrors.ustc.edu.cn/brew.git
# 替换homebrew-core.git:
git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
# 替换homebrew-cask.git:
git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git
# 替换homebrew-bottles:
if [ $SHELL = "/bin/bash" ] # 如果你的是bash
then
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles/' >> ~/.bash_profile
source ~/.bash_profile
elif [ $SHELL = "/bin/zsh" ] # 如果用的shell 是zsh 的话
then
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles/' >> ~/.zshrc
source ~/.zshrc
fi
brew update
如果还不行的话可以依次尝试以下命令
brew doctor
brew update-reset
brew update
如果需要恢复原有镜像源的话(国内镜像源突然不能用了或版本不够新)
git -C "$(brew --repo)" remote set-url origin https://github.com/Homebrew/brew.git
git -C "$(brew --repo homebrew/core)" remote set-url origin https://github.com/Homebrew/homebrew-core.git
git -C "$(brew --repo homebrew/cask)" remote set-url origin https://github.com/Homebrew/homebrew-cask.git
# 找到 ~/.bash_profile 或者 ~/.zshrc 中的 HOMEBREW_BOTTLE_DOMAIN 一行删除
brew update
卸载
卸载代码:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
终端输出:
➜ ~ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
Warning: This script will remove:
/Users/joy/Library/Caches/Homebrew/ # HomeBrew下载缓存地址
/Users/joy/Library/Logs/Homebrew/ # HomeBrew Log 地址
/usr/local/Cellar/ # HomeBrew包安装地址
/usr/local/Homebrew/
/usr/local/Homebrew/.github/
/usr/local/Homebrew/.gitignore
/usr/local/Homebrew/.travis.yml
/usr/local/Homebrew/.yardopts
/usr/local/Homebrew/CHANGELOG.md
/usr/local/Homebrew/CODE_OF_CONDUCT.md
/usr/local/Homebrew/CONTRIBUTING.md
/usr/local/Homebrew/LICENSE.txt
/usr/local/Homebrew/Library/
/usr/local/Homebrew/Library/Homebrew/test/.bundle/config
/usr/local/Homebrew/README.md
/usr/local/Homebrew/bin/brew
/usr/local/Homebrew/completions/
/usr/local/Homebrew/docs/
/usr/local/Homebrew/manpages/
/usr/local/bin/brew -> /usr/local/Homebrew/bin/brew
/usr/local/etc/bash_completion.d/brew -> /usr/local/Homebrew/completions/bash/brew
/usr/local/share/doc/homebrew -> /usr/local/Homebrew/docs
/usr/local/share/man/man1/brew-cask.1 -> /usr/local/Homebrew/manpages/brew-cask.1
/usr/local/share/man/man1/brew.1 -> /usr/local/Homebrew/manpages/brew.1
/usr/local/share/zsh/site-functions/_brew -> /usr/local/Homebrew/completions/zsh/_brew
/usr/local/share/zsh/site-functions/_brew_cask -> /usr/local/Homebrew/completions/zsh/_brew_cask
/usr/local/var/homebrew/
Are you sure you want to uninstall Homebrew? This will remove your installed packages! [y/N] y
==> Removing Homebrew installation...
==> Removing empty directories...
==> /usr/bin/sudo /usr/bin/find /usr/local/bin /usr/local/etc /usr/local/include /usr/local/lib /usr/local/opt /usr/local/sbin /usr/local/share /usr/local/var /usr/local/Cellar /usr/local/Homebrew /usr/local/Frameworks -name .DS_Store -delete
Password:
==> /usr/bin/sudo /usr/bin/find /usr/local/bin /usr/local/etc /usr/local/include /usr/local/lib /usr/local/opt /usr/local/sbin /usr/local/share /usr/local/var /usr/local/Cellar /usr/local/Homebrew /usr/local/Frameworks -depth -type d -empty -exec rmdir {} ;
==> Homebrew uninstalled!
The following possible Homebrew files were not deleted:
/usr/local/bin/
/usr/local/.com.apple.installer.keep
/usr/local/include/
/usr/local/sbin/
/usr/local/remotedesktop/
/usr/local/etc/
/usr/local/var/
/usr/local/lib/
/usr/local/share/
You may wish to remove them yourself.
扩展:Homebrew Cask
你已经感受到了使用Homebrew安装命令行程序的便利。那么接下来,我们将通过Homebrew Cask优雅、简单、快速的安装和管理OS X图形界面程序,比如Google Chrome和Dropbox。
安装
brew install caskroom/cask/brew-cask
使用
基本用法与brew相同,只不过在brew后面加了一个cask单词。
// 安装软件
brew cask install google-chrome
// 卸载软件
brew cask uninstall google-chrome
其他
JDK 8 can be downloaded from Oracle's JDK Page.
// 安装Bazel
brew install bazel
// 查看Bazel版本
bazel version
// 提示需要安装java JDK
移除JAVA JDK
sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -fr /Library/PreferencesPanes/JavaControlPanel.prefPane
sudo rm -fr ~/Library/Application\ Support/Java
sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk