Homebrew macOS 包管理
1、Homebrew 简介
1.1 Homebrew
- Homebrew 是一款 macOS 平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。相当于 Linux 常用的 apt-get,zypper,pacman 等。
2、Homebrew 环境配置
2.1 Homebrew 安装要求
1)Intel CPU
- 官方说明并非所有的指令具有 CPU 或操作系统要求,假如不符合系统要求,猜测会遇到问题。此外,你可以查看:Interesting Taps & Branches。
2)macOS 10.9 or higher
- 官方推荐系统版本为 10.9 或更高。10.5 - 10.8 官方会尽力支持。对于 10.4 和 10.5,见 Tigerbrew。
3)Xcode 命令行工具
# 安装 Xcode command line tools
$ xcode-select --install
- 大多数命令需要一个编译器。少数需要安装一个完整的 Xcode。你可以安装 Xcode,或者 CLT,或两者兼而有之; Homebrew 支持三种配置。在旧版操作系统中下载 Xcode 可能需要苹果开发者账号,你可以在这里免费注册。
4)支持 shell (sh 或者 bash)
- 单行安装方法可以查看 brew.sh,但是需要兼容 shell(如 bash 或 zsh 中)。需要注意的是 fish、tcsh、csh 会无法使用。
2.2 安装 Homebrew
在终端中执行以下命令
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
终端提示
==> This script will install:
/usr/local/bin/brew
/usr/local/share/doc/homebrew
/usr/local/share/man/man1/brew.1
/usr/local/share/zsh/site-functions/_brew
/usr/local/etc/bash_completion.d/brew
/usr/local/Homebrew
==> The following existing directories will be made group writable:
/usr/local/share/man/man5
/usr/local/share/man/man7
==> The following existing directories will have their owner set to haiqianj:
/usr/local/share/man/man5
/usr/local/share/man/man7
==> The following existing directories will have their group set to admin:
/usr/local/share/man/man5
/usr/local/share/man/man7
==> The following new directories will be created:
/usr/local/Cellar
==> The Xcode Command Line Tools will be installed. Press RETURN to continue or any other key to abort
按 RETURN 键后输入系统密码继续安装,稍等片刻后即可安装完成。
紧接着,我们需要做一件事让通过 Hombrew 安装的程序的启动链接 (在 /usr/local/bin 中)可以直接运行,无需将完整路径写出。
$ echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile
Cmd+T 打开一个新的 terminal 标签页,运行以下命令,确保 brew 运行正常。
$ brew doctor
安装完成后,Homwbrew 会将本地 /usr/local 初始化为 git 的工作树,并将目录所有者变更为当前所操作的用户,将来 brew 的相关操作不需要 sudo。
2.3 安装 Homebrew Cask(可选安装)
通过 Homebrew Cask 可以优雅、简单、快速的安装和管理 macOS 图形界面程序,比如 Google Chrome 和 Dropbox。
安装 Homebrew Cask 运行以下命令即可完成。
# 添加 Github 上的 caskroom/cask 库
$ brew tap caskroom/cask # 安装 brew-cask
$ brew install brew-cask-completion # 更新
$ brew update && brew upgrade brew-cask-completion && brew cleanup
如果你想查看 cask 上是否存在你需要的 app,可以到 caskroom.io 进行搜索。
2.4 卸载 Homebrew 方法
在终端中执行以下命令
$ cd `brew --prefix`
$ rm -rf Cellar
$ brew prune
$ rm `git ls-files`
$ rm -r Library/Homebrew Library/Aliases Library/Formula Library/Contributions
$ rm -rf .git
$ rm -rf ~/Library/Caches/Homebrew
2.5 Homebrew 常用命令
1)Homebrew 常用命令
# 查看 Homebrew 版本
$ brew -v # 查看帮助信息
$ brew -h # 更新 Homebrew 在服务器端上的包目录
$ brew update # 安装任意包
# brew install [包名]
$ brew install wget # 卸载任意包
# brew uninstall [包名]
$ brew uninstall wget # 查询可用包
# brew search [包名]
$ brew search wget # 查看已安装包列表
$ brew list # 查看已安装包列表,包括版本号
$ brew list --versions # 查看任意包信息
# brew info [包名]
$ brew info wget # 查看已安装的包是否需要更新
$ brew outdated # 更新已安装的包,Homebrew 将会把老版本的包缓存下来,以便当你想回滚至旧版本时使用
# brew upgrade [包名]
$ brew upgrade wget # 清理旧版本的包缓存
$ brew cleanup
Example usage:
brew search [TEXT|/REGEX/]
brew (info|home|options) [FORMULA...]
brew install FORMULA...
brew update
brew upgrade [FORMULA...]
brew uninstall FORMULA...
brew list [FORMULA...] Troubleshooting:
brew config
brew doctor
brew install -vd FORMULA Developers:
brew create [URL [--no-fetch]]
brew edit [FORMULA...]
https://docs.brew.sh/Formula-Cookbook Further help:
man brew
brew help [COMMAND]
brew home
2)Homebrew Cask 常用命令
1> 安装文件预览插件
# 语法高亮
$ brew cask install qlcolorcode #
$ brew cask install qlstephen # markdown 渲染
$ brew cask install qlmarkdown # json 预览
$ brew cask install quicklook-json #
$ brew cask install qlprettypatch #
$ brew cask install quicklook-csv #
$ brew cask install betterzipql #
$ brew cask install webp-quicklook #
$ brew cask install suspicious-package
2> 安装 macOS 图形界面程序
#
$ brew cask install alfred #
$ brew cask install appcleaner #
$ brew cask install cheatsheet #
$ brew cask install dropbox #
$ brew cask install google-chrome #
$ brew cask install onepassword #
$ brew cask install sublime-text #
$ brew cask install totalfinder
2.6 注意事项
在 macOS 10.11 系统以后,/usr/local/ 等系统目录下的文件读写是需要系统 root 权限的,以往的 Homebrew 安装如果没有指定安装路径,会默认安装在这些需要系统 root 用户读写权限的目录下,导致有些指令需要添加 sudo 前缀来执行,比如升级 Homebrew 需要执行以下命令。
$ sudo brew update
如果不想每次都使用 sudo 指令,有两种方法可以选择。
1> 对 /usr/local 目录下的文件读写进行 root 用户授权。
# sudo chown -R [系统用户名] /usr/local
$ sudo chown -R QianChia /usr/local
2> (推荐)安装 Homebrew 时对安装路径进行指定,直接安装在不需要系统 root 用户授权就可以自由读写的目录下。
[install path]/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Homebrew macOS 包管理的更多相关文章
- Xrepo:一个现代化的跨平台 C/C++ 包管理器
xrepo 是一个基于 Xmake 的跨平台 C/C++ 包管理器. 项目源码 官方文档 它基于 xmake 提供的运行时,但却是一个完整独立的包管理程序,相比 vcpkg/homebrew 此类包管 ...
- MacOS上的包管理工具
众所周知,Linux世界中存在着如apt-get.yum等强大而简单的包管理工具,而在Macos中同样存在类似的东西. 当前比较流行的主要有如下两种: 1.Homebrew(推荐):其官网地址brew ...
- Mac下的类似apt-get的包管理工具Homebrew(笔记)
对于一个习惯了在 Ubuntu 的终端上通过 apt-get 来安装工具软件的我来说,也希望在Mac上找到类似的工具,能很方便的一条命令就能安装所需的软件,而不用手工的去查找下载编译,或者是折腾安装所 ...
- Mac上的包管理器Homebrew的介绍及安装和使用实践
Homebrew的作用 Homebrew是OS X上强大的包管理器,为系统软件提供了非常方便的安装方式,独特式的解决了包的依赖问题,并不再需要烦人的sudo,一键式编译,无参数困扰. 如何安装Home ...
- 简单好用的包管理器 brew
Homebrew 是什么? macOS 上的包管理器,相当于 Debian 系的 apt-get ,或者是 Redhat 系的 yum . Homebrew 有什么用? 帮你安装一些系统默认没有安装但 ...
- Windows上包管理器之Chocolatey初体验
一直使用Windows开发项目,前段时间使用了一段时间的macOS,感觉使用homebrew和npm去安装一些常用的包真的是方便啊,最近又使用回Windows,由于电脑比较新,发现里面连Git都没有, ...
- Python | Pipenv官方推荐的python包管理工具
原文地址:https://cloud.tencent.com/developer/article/1355672 Pipenv - 官方推荐的的python包管理工具. Pipenv是一款旨在将所有包 ...
- Node.js包管理器Yarn的入门介绍与安装
FAST, RELIABLE, AND SECURE DEPENDENCY MANAGEMENT. 就在昨天, Facebook 发布了新的 node.js 包管理器 Yarn 用以替代 npm .咱 ...
- Homebrew- MAC上的包管理利器
包管理器是神马东西?让我们看看wikipedia上的介绍. In software, a package management system, also called package manager, ...
随机推荐
- cache 基本原理
Cache 主要由 Cache Tag,Cache 存储体,Cache 控制模块组成.Cache Tag 主要用来记录 Cache 存储体中数据的位置和判断 Cache 内数据是否命中: Ca ...
- NDK官方下载链接
注:本文转载于成江海:<Android各个版本的NDK官方下载链接 > NDK官方网站:https://developer.android.google.cn/ndk/downloads/ ...
- Java初学者的30个常见问题
本文回答了30个Java入门级初学者的常见问题. 我可以用%除以一个小数吗? a += b 和 a = a + b 的效果有区别吗? 声明一个数组为什么需要花费大量时间?为什么Java库不用随机piv ...
- 深入理解 Array.prototype.map()
深入理解 Array.prototype.map() map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果. 语法 let new_array = arr.map ...
- PLSQL Developer的使用之对象浏览器
PLSQL Developer的使用之对象浏览器 (转自https://www.cnblogs.com/mq0036/p/6437834.html#point11) 能够显示与 PL/SQL 开发相关 ...
- BZOJ.4892.[TJOI2017]DNA(后缀自动机/后缀数组)
题目链接 \(Description\) 给出两个串\(S,T\),求\(T\)在\(S\)中出现了多少次.出现是指.可以有\(3\)次(\(3\)个字符)不匹配(修改使其匹配). \(Solutio ...
- jenkins使用总结
这个教程很全面,可以参考 https://www.jianshu.com/p/dceaa1c7bb49
- C++学习笔记42:进程管理
子进程异步清除 SIGCHLD信号:子进程终止时,向父进程自动发送,编写此信号处理例程,异步清除子进程 #include <signal.h> #include <string.h& ...
- Centos 7 安装 Mysql 5.5 5.6 5.7
环境 [root@node1 ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@node1 ~]# uname -a Linu ...
- c# 以换行(\r\n)拆分字符串
c# 以换行(\r\n)拆分字符串 字符串数组形式: string[] striparr = strip.Split(new string[] { "\r\n" }, String ...