Mac下Homebrew简介,安装与使用

832 阅读3分钟

Mac下Homebrew简介,安装与使用

简介

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 ChromeDropbox

安装

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