Open jsiwa opened 4 months ago
Homebrew 自动升级依赖行为及其配置
Homebrew 是 macOS 和 Linux 下流行的软件包管理器。它简化了软件的安装和管理,但默认情况下,Homebrew 会在重新安装或升级某个软件包时自动升级其依赖的软件包。这种行为有时会带来不便,本文将介绍如何控制 Homebrew 的自动升级行为。
当使用 brew reinstall icu4c 重新安装 icu4c 时,Homebrew 会自动检查并升级所有依赖 icu4c 的软件包,如 boost、ffmpeg、libpq、node 和 postgresql@14。这种行为是为了保持系统软件包的最新和兼容,但有时我们希望只重新安装某个软件包,而不升级其依赖。
brew reinstall icu4c
boost
ffmpeg
libpq
node
postgresql@14
设置 HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK 环境变量,禁用在安装或重新安装软件包时对其依赖软件包的检查和升级。
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
设置 HOMEBREW_NO_INSTALL_CLEANUP 环境变量,禁用每次安装后自动进行的清理操作。
HOMEBREW_NO_INSTALL_CLEANUP
export HOMEBREW_NO_INSTALL_CLEANUP=1
设置 HOMEBREW_NO_ENV_HINTS 环境变量,隐藏提示信息。
HOMEBREW_NO_ENV_HINTS
export HOMEBREW_NO_ENV_HINTS=1
将这些环境变量添加到 Shell 配置文件(如 .bashrc 或 .zshrc)中,以便在每次打开终端时自动设置这些变量。例如,编辑 .zshrc 文件并添加:
.bashrc
.zshrc
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 export HOMEBREW_NO_INSTALL_CLEANUP=1 export HOMEBREW_NO_ENV_HINTS=1
然后,重新加载配置文件:
source ~/.zshrc
以下是一个终端会话示例,展示如何重新安装 icu4c 而不会触发其他依赖软件包的升级:
icu4c
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 export HOMEBREW_NO_INSTALL_CLEANUP=1 export HOMEBREW_NO_ENV_HINTS=1 brew reinstall icu4c
通过设置适当的环境变量,可以控制 Homebrew 的自动升级行为,从而在重新安装或升级某个软件包时避免不必要的依赖软件包升级。这些配置可以帮助您更灵活地使用 Homebrew。
Homebrew 自动升级依赖行为及其配置
Homebrew 自动升级依赖行为及其配置
引言
Homebrew 是 macOS 和 Linux 下流行的软件包管理器。它简化了软件的安装和管理,但默认情况下,Homebrew 会在重新安装或升级某个软件包时自动升级其依赖的软件包。这种行为有时会带来不便,本文将介绍如何控制 Homebrew 的自动升级行为。
Homebrew 的自动升级行为
当使用
brew reinstall icu4c
重新安装 icu4c 时,Homebrew 会自动检查并升级所有依赖 icu4c 的软件包,如boost
、ffmpeg
、libpq
、node
和postgresql@14
。这种行为是为了保持系统软件包的最新和兼容,但有时我们希望只重新安装某个软件包,而不升级其依赖。控制 Homebrew 的自动升级行为
禁用依赖软件包升级
设置
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK
环境变量,禁用在安装或重新安装软件包时对其依赖软件包的检查和升级。禁用安装后的自动清理
设置
HOMEBREW_NO_INSTALL_CLEANUP
环境变量,禁用每次安装后自动进行的清理操作。隐藏环境提示
设置
HOMEBREW_NO_ENV_HINTS
环境变量,隐藏提示信息。配置环境变量
将这些环境变量添加到 Shell 配置文件(如
.bashrc
或.zshrc
)中,以便在每次打开终端时自动设置这些变量。例如,编辑.zshrc
文件并添加:然后,重新加载配置文件:
实际示例
以下是一个终端会话示例,展示如何重新安装
icu4c
而不会触发其他依赖软件包的升级:结论
通过设置适当的环境变量,可以控制 Homebrew 的自动升级行为,从而在重新安装或升级某个软件包时避免不必要的依赖软件包升级。这些配置可以帮助您更灵活地使用 Homebrew。