? ~ brew info test
Error: No available formula with the name "test"
==> Searching for a previously deleted formula...
Warning: homebrew/core is shallow clone. To get complete history run:
git -C "$(brew --repo homebrew/core)" fetch --unshallow
Error: No previously deleted formula found.
Run Code Online (Sandbox Code Playgroud)
我之前修改了git远程地址以反映自制程序的地址.也许它与此相关,但我不知道.
Gri*_*vit 130
自 2020 年 10 月起,Homebrew在安装时不再创建浅层克隆,并且自 2020 年 12 月起也不允许更新现有的浅层克隆。
(这使得关于使警告静音的原始问题没有实际意义)。
如果配置了浅克隆,则会显示包含如下文本的消息:
错误: homebrew- core是一个浅层克隆。 homebrew- cask是一个浅层克隆。 要`brew update`,首先运行: git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew- core fetch --unshallow 混帐-C在/ usr /本地/家酿/库/水龙头/自制软件/ homebrew-木桶取--unshallow
现在需要通过运行git错误消息中的命令来执行非浅层过程。
注意:在不提供反馈的情况下,此过程可能需要很长时间才能完成。
有关此更改动机的一些详细信息,请参阅Homebrew 的 GitHub 页面上的此讨论,特别是:
浅克隆有两个主要缺点:
- 它放在GitHub的服务器,有一个庞大的计算负担, 动态地 计算你所拥有的和最新的承诺,每间一个新的增量
brew update。(使用完整克隆,GitHub 可以简单地将上次拉取后发生的所有提交发送给您,其余的由您的本地 Git 客户端处理。)- 由于 [1],这使得 GitHub 更有可能对 Homebrew 操作进行速率限制,这对每个人来说都会很糟糕。
--gromgit 2020 年 12 月 5 日,美国东部标准时间上午 12:29
并且此附加文本添加到错误消息中:
由于 Homebrew/homebrew-core 和 Homebrew/homebrew-cask 的树布局和流量,更新浅克隆是一项极其昂贵的操作,因此在 GitHub 的请求中已做出此限制。
Wei*_*ing 40
不知何故,unshallow 对我不起作用,我等了大约 10 分钟,但没有任何显示,即使有-v选项。
刚刚找到了一种可能有效的解决方案(至少对我有用)。
您可以删除存储库并再次克隆以获取最新的存储库。
cd /usr/local/Homebrew/Library/Taps/homebrew/
rm -rf homebrew-core
git clone https://github.com/Homebrew/homebrew-core.git
Run Code Online (Sandbox Code Playgroud)
如果您也需要更新,则适用于 homebrew-cask 的相同命令
所有学分都属于这个答案
Hed*_*dge 11
我建议不要取消克隆,因为它会占用磁盘空间,使查找速度变慢,并且只能安装过时或未维护的应用程序。
目前没有办法消除这个警告。它是在这个Github 问题中提出的,但后来被忽略了。
deleted_reason打印消息的函数包含一个silent参数,但无法使用silent来自 CLI 命令的类似内容,稍后调用deleted_reason.
就像它说的那样
要获得完整的历史记录:
Run Code Online (Sandbox Code Playgroud)git -C "$(brew --repo homebrew/core)" fetch --unshallow
这种方式brew info可以搜索仅在过去存在但在某些时候被删除的公式.
它可能在某些情况下有所帮助,但可能并不多.例如,错误可能是由您尝试查找的公式名称中的拼写错误引起的.在这些情况下,我只是忽略此错误,而不是获取所有历史记录提交.
使用--unshallow标志获取 repo :
git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
Run Code Online (Sandbox Code Playgroud)
我通过 git pull --unshallow 更新了 repo
更新自制核心
cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core
git pull --unshallow
Run Code Online (Sandbox Code Playgroud)
更新自制酒桶
cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask
git pull --unshallow
Run Code Online (Sandbox Code Playgroud)