如何在Ubuntu 20.04中通过Homebrew正确安装azure-cli?
报错原因排查
- 旧版azure-cli 2.29.2依赖兼容性问题:该版本发布时间较早,仅适配Python 3.8/3.9版本,若你本地环境安装的是3.10及以上版本Python,会出现依赖编译、安装失败的问题
- 自定义Tap公式适配问题:通过
brew extract提取的旧版本公式未适配你当前使用的Homebrew版本和系统架构,可能存在路径配置、依赖声明错误 - 全局依赖冲突:你之前使用sudo安装了全局的decorator包,和Homebrew安装过程中沙箱环境内的Python依赖产生冲突,导致依赖校验不通过
可行安装方案
方案1:修改Brew公式适配本地环境(适配你当前的安装流程)
- 编辑你提取到本地的azure-cli@2.29.2公式文件,执行命令:
brew edit <name>/azure-cli/azure-cli@2.29.2
(将<name>替换为你本地的用户名) - 在公式的
depends_on配置段,明确指定Python依赖版本为3.9,修改对应行内容为:depends_on "python@3.9" - 清除之前安装失败的残留和缓存:
brew uninstall --force <name>/azure-cli/azure-cli@2.29.2 brew cleanup <name>/azure-cli/azure-cli@2.29.2 rm -rf ~/Library/Caches/Homebrew/azure-cli*
- 重新执行安装命令即可:
brew install <name>/azure-cli/azure-cli@2.29.2
方案2:Pip直接安装指定版本(绕过Homebrew,成功率更高)
如果方案1仍报错,可以跳过Homebrew流程直接用Python包管理器安装:
- 先安装适配的Python 3.9版本:
brew install python@3.9 - 用对应版本的pip安装指定版本azure-cli:
/usr/local/bin/pip3.9 install azure-cli==2.29.2 - 验证安装结果:
az --version
输出2.29.2版本号即为安装完成。
方案3:临时关闭沙箱校验(仅适用于前两个方案都失败的场景)
安装时添加--no-sandbox参数跳过Homebrew沙箱权限校验,避免和全局安装的decorator包冲突:brew install --no-sandbox <name>/azure-cli/azure-cli@2.29.2
内容的提问来源于stack exchange,提问作者E to the I
相关产品推荐
相关产品推荐

