Azure DevOps流水线中安装SwiftLint 0.50.1失败求解决方案
解决Azure DevOps流水线中安装SwiftLint 0.50.1的问题
问题原因说明
brew install swiftlint@0.50.1报错:Homebrew官方仓库未提供带版本后缀的SwiftLint Formula(如swiftlint@x.x.x),仅维护最新版本的Formula,因此直接指定版本号安装会失败。brew switch报错:新版Homebrew已移除switch命令,该命令不再可用。
可行解决方案
方案一:直接下载GitHub预编译二进制包(推荐流水线使用)
这种方式无需依赖Homebrew的Formula,速度更快且版本可控:
# 下载SwiftLint 0.50.1的预编译包 curl -LO https://github.com/realm/SwiftLint/releases/download/0.50.1/swiftlint.zip # 解压包 unzip -q swiftlint.zip # 将可执行文件移动到系统PATH目录 mv swiftlint /usr/local/bin/ # 验证版本是否正确 swiftlint --version
方案二:通过Homebrew从历史Formula安装
找到SwiftLint 0.50.1对应的历史Formula文件安装:
- 先查询SwiftLint 0.50.1对应的Formula提交哈希
brew log swiftlint | grep "0.50.1"
- 使用该哈希对应的Formula文件安装
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/<查到的提交哈希>/Formula/swiftlint.rb
示例:SwiftLint 0.50.1对应的提交哈希为
e8b7a9f9d7d2f5f6e7a8b9c0d1e2f3a4b5c6d7e8(实际需自行查询),则命令为:brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/e8b7a9f9d7d2f5f6e7a8b9c0d1e2f3a4b5c6d7e8/Formula/swiftlint.rb
方案三:通过CocoaPods指定版本安装
如果流水线中使用CocoaPods管理依赖,可在Podfile中添加:
pod 'SwiftLint', '0.50.1'
执行pod install后,使用Pods目录下的SwiftLint执行检查,路径通常为:
Pods/SwiftLint/swiftlint lint
内容的提问来源于stack exchange,提问作者Sourav
相关产品推荐
相关产品推荐

