具体来说kubernetes-cli
.我安装了 1.12.0。我需要 1.11.x,但我没有安装它。
我已经查看并尝试了此线程中的每个答案,但没有任何效果:自制软件安装特定版本的公式?
我已经尝试过brew search
但没有点击版本:
~ brew search kubernetes-cli
==> Formulae
kubernetes-cli ✔
我已经尝试了brew versions
但该命令已被删除:
~ brew versions
Error: Unknown command: versions
我试过brew install kubernetes-cli@1.11.0
和.1和.2:
~ brew install kubernetes-cli@1.11.0
Error: No available formula with the name "kubernetes-cli@1.11.0"
==> Searching for a previously deleted formula (in the last month)...
Error: No previously deleted formula found.
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.
brew switch
要求我安装了旧版本,但我没有。
~ brew switch kubernetes-cli 1.11.0
Error: kubernetes-cli does not have a version "1.11.0" in the Cellar.
kubernetes-cli installed versions: 1.12.0
- 转到自制的 git 存储库:https://github.com/Homebrew/homebrew-core/
- 确定特定于 kubernetes 1.11.x 版本的提交
- 转到
Formula
文件夹 - 打开
kubernetes-cli.rb
文件的原始版本 - 复制文件的原始链接
https://raw.githubusercontent.com/Homebrew/homebrew-core/3e8f5503dde7069c5ff49b82d5e1576e6ebe3a5d/Formula/kubernetes-cli.rb
- 运行
brew install <raw_link>
我没有足够的代表对帮助我的答案发表评论。所以写在这里更具体地介绍第 2 点@urpalreloaded
brew search --pull-request kubernetes-cli@1.11.0
- 它会说它没有找到木桶,但应该给你一个链接到一个与你搜索的版本匹配的关闭拉取请求。按照拉取请求的链接和以下步骤 3-5 进行操作。
brew unlink kubernetes-cli
brew install <raw-link>
FWIW,我认为brew不保留版本,因为它会使回购太大?这种解决方法很不方便,也许他们可以找到解决此问题的方法?
上面的答案非常有用,但是当我尝试在我的Sierra 0.30.1机器上安装迦太基10.12.6时,我遇到了SHA256不匹配错误:
$ brew install https://raw.githubusercontent.com/ilovezfs/homebrew-core/8c93668a451087611b2247cafe02ad6f867daed6/Formula/carthage.rb --force-bottle
######################################################################## 100.0%
Warning: carthage 0.32.0 is available and more recent than version 0.30.1.
==> Downloading https://homebrew.bintray.com/bottles/carthage-0.30.1.sierra.bottle.tar.gz
######################################################################## 100.0%
Error: SHA256 mismatch
然后由于最新的Sierra Xcode不支持新的Xcode构建系统,它无法从源代码构建
。对我有用的是直接从瓶子安装(网址显示在第一个brew install <raw url>
输出中(:
brew install https://homebrew.bintray.com/bottles/carthage-0.30.1.sierra.bottle.tar.gz
我和dsjapan有同样的问题,对我有用的是改为高sierra:
brew unlink carthage
brew install https://homebrew.bintray.com/bottles/carthage-0.30.1.high_sierra.bottle.tar.gz
截至 2022 年 4 月:
我发现最简单的方法是创建一个新的水龙头。
特别是对于kubernetes-cli
(如果您不关心补丁版本 -1.11.x
中的x
(,您只需使用:
brew install kubernetes-cli@1.11
它将完成可用的最新x
。
我想出了如何升级和降级任何因弃用而被禁用的公式.
(基本上我遵循了本指南并设置了一个额外的brew环境变量(
就我而言,我执行以下操作从 1.22.16 升级到 1.22.17(弃用前的最新(:
- 跑:
brew edit kubernetes-cli@1.22
- 注释此以
disable! date
开头的行:
# disable! date: "2022-10-28", because: :deprecated_upstream
- 运行:
HOMEBREW_NO_INSTALL_FROM_API=1 brew upgrade kubernetes-cli@1.22
要回滚或通常安装任何其他版本,请继续执行以下步骤:
- 将所有行替换为所需版本中的所有行,这可以通过提交历史记录轻松找到(一旦进入提交,请单击
...
->View file
(或
:
brew log kubernetes-cli@1.22
- 运行:
HOMEBREW_NO_INSTALL_FROM_API=1 brew reinstall kubernetes-cli@1.22