本文记录了MacOS上的软件包管理器Homebrew的若干琐事。
Homebrew 是一个自由和开源的软件包管理系统,专为 macOS 设计,用于简化软件安装过程。它允许用户容易地安装、更新和卸载各种软件包,包括命令行工具、开发工具和常用库。Homebrew 通过 GitHub 维护,并且它的软件包是从 GitHub 仓库中获取的。
➤ 安装 Homebrew 并保持最新
在macOS里,为了方便快捷地安装各种软件包,首先你要装好Homebrew。
安装Homebrew的过程此处不赘述,请参考Homebrew官网。
如果你早已安装过,那么注意要保持它最新:
brew update
这个过程可能耗时较长。
如果你不更新,可能会在用 brew install xxx 安装软件包的时候,看到类似于下面的提示:
==> Searching for similarly named formulae...Error: No similarly named formulae found.Error: No available formula or cask with the name "grc".==> Searching for a previously deleted formula (in the last month)...Error: No previously deleted formula found.==> Searching taps on GitHub...Error: No formulae found in taps.
文章来源:https://www.codelast.com/
➤ 设置 GitHub 密钥,让Homebrew可以正常安装软件
如果你没有设置过 GitHub 密钥,当你执行 brew install xxx 命令来安装软件的时候,会报错:
Error: GitHubThe GitHub credentials in the macOS keychain may be invalid.Clear them with:printf "protocol=https\nhost=github.com\n" | git credential-osxkeychain eraseOr create a personal access token:https://github.com/settings/tokens/new?scopes=gist,public_repo&description=Homebrewand then set the token as: export HOMEBREW_GITHUB_API_TOKEN="your_new_token"
大概意思就是,你需要到上面的这个GitHub链接里设置、生成一个token,然后把 HOMEBREW_GITHUB_API_TOKEN 这个环境变量设置成你生成的那个token。
照做就得了。生成token之后,编辑 ~/.bash_profile 文件,添加一行:
export HOMEBREW_GITHUB_API_TOKEN=xxx
其中,xxx 代表你在GitHub上生成的那个 token。
这样做之后,你理应可以用 brew install 来正常安装软件了。
文章来源:https://www.codelast.com/
➤ Homebrew加速:设置国内镜像
由于Homebrew默认使用的是GitHub上的仓库,对于国内用户来说,访问速度可能会比较慢。国内有一些机构提供了Homebrew的镜像,可以用来加速软件包的下载和安装:中科大镜像、清华镜像、阿里云镜像等。
以阿里云镜像为例:
替换 brew.git:
git -C "$(brew --repo)" remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git
替换 homebrew-core.git:
git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git
替换 homebrew-cask.git(如果需要):
git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-cask.git
然后再执行 brew update 来更新本地仓库。
文章来源:https://www.codelast.com/
➤➤ 版权声明 ➤➤
转载需注明出处:codelast.com
感谢关注我的微信公众号(微信扫一扫):
以及我的微信视频号: