为什么更新自制软件需要很长时间?

geo*_*geo 49 homebrew

这是我的酿造配置

HOMEBREW_VERSION: 3.0.10-23-g5e0b08d
ORIGIN: https://github.com/Homebrew/homebrew-core
HEAD: 5e0b08dd01bdce3523c7e095739641b6f33b902a
Last commit: 6 hours ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 5e0b08dd01bdce3523c7e095739641b6f33b902a
Core tap last commit: 6 hours ago
Core tap branch: master
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CASK_OPTS: []
HOMEBREW_MAKE_JOBS: 4
Homebrew Ruby: 2.6.3 => /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3_2/bin/ruby
CPU: quad-core 64-bit icelake
Clang: 12.0 build 1200
Git: 2.24.3 => /Library/Developer/CommandLineTools/usr/bin/git
Curl: 7.64.1 => /usr/bin/curl
macOS: 10.15.7-x86_64
CLT: 12.4.0.0.1.1610135815
Xcode: N/A
Run Code Online (Sandbox Code Playgroud)

当我尝试通过酿造(例如 CAT)下载某些内容时,终端显示“正在更新自制程序”并且需要很长时间

酿造医生说

 "Warning: Suspicious https://github.com/Homebrew/brew git origin remote found.
The current git origin is:
  https://github.com/Homebrew/homebrew-core

With a non-standard origin, Homebrew won't update properly.
You can solve this by setting the origin remote:
  git -C "/usr/local/Homebrew" remote set-url origin https://github.com/Homebrew/brew"
Run Code Online (Sandbox Code Playgroud)

所以我输入了

git -C "/usr/local/Homebrew" remote set-url origin https://github.com/Homebrew/brew
 However, nothing happened
Run Code Online (Sandbox Code Playgroud)

我对此感到非常沮丧。任何人都可以帮忙吗?

抱歉写得不好,英语不是我的母语:(

小智 110

对我来说,它一直在删除一个名为 TMP_FETCH_FAILURES 的目录,该目录不存在。所以我创建了它然后重新运行并且它起作用了。

  • 谢谢。需要明确的是,我运行了“mkdir /usr/local/Homebrew/.git/TMP_FETCH_FAILURES”,它的工作方式就像一个魅力。 (43认同)
  • 在我的 mac M1 上,这解决了问题:`mkdir /opt/homebrew/Library/Taps/homebrew/homebrew-core/.git/TMP_FETCH_FAILURES` (23认同)
  • 由于 @user1771485 指出的原因,我使用了 `touch /usr/local/Homebrew/.git/TMP_FETCH_FAILURES` 而不是 `mkdir` 。有效。 (8认同)
  • TMP_FETCH_FAILURES 也可以位于:`/opt/homebrew/.git/TMP_FETCH_FAILURES`。因此,请使用“brew update -d”来查看进程在您的情况下陷入困境的位置。 (8认同)
  • /usr/local/Homebrew/.git/TMP_FETCH_FAILURES 应该是一个文件,而不是文件夹。否则,“brew update”会抛出一些错误。 (7认同)
  • 上述步骤都不适合我。我运行了“brew update-reset”,大约需要 4 分钟,它为我解决了问题。我在brew GitHub上找到了[此问题](https://github.com/Homebrew/brew/issues/14187#issuecomment-1334624189)的修复 (3认同)

ale*_*lex 46

使用 debug option: 运行brew update brew update -d,看看发生了什么,它挂在哪里。

其原因可能是:

  • 网络速度慢。
  • 等待大更新的传输。
  • 防火墙问题。

找到挂起的命令后,尝试在确切的终端中运行确切的命令,以调试问题。

如果与防火墙问题有关,您可以尝试在命令行中使用代理服务器。

例如,您有一个http proxy server可用的地址127.0.0.1:6152: 。您可以将其设置为git

git config --global http.proxy http://127.0.0.1:6152
git config --global https.proxy http://127.0.0.1:6152
brew update -d
Run Code Online (Sandbox Code Playgroud)

或者为整个命令行设置代理(仅适用于支持代理的命令):

export https_proxy=http://127.0.0.1:6152
export http_proxy=http://127.0.0.1:6152
brew update -d
Run Code Online (Sandbox Code Playgroud)

要撤消上述代理配置,请使用:

git config --global --unset http.proxy
git config --global --unset https.proxy
Run Code Online (Sandbox Code Playgroud)

或者

unset https_proxy http_proxy
Run Code Online (Sandbox Code Playgroud)

  • 致开发人员:在编写指导用户如何安装软件的自述文件时,请不要将“brew install”列为第一个选项。我热情地启动了brew安装,并在这里坐了将近一个小时,看着自制程序更新自身,计算对象,压缩对象,接收对象(无论这些东西意味着什么?)...而我试图安装的简单插件仍然没有安装安装。进一步阅读 README,我现在意识到我可以简单地从 GitHub 的“Releases”中获取 .zip,并且很久以前就可以完成了。对用户来说保持简单。 (7认同)
  • 我很高兴每年帮助数十名学生在他们的个人笔记本电脑上使用brew。我可以告诉你,这一般不是网络速度慢或文件下载量大造成的。可以预见的是,Homebrew 非常慢(“brew update”需要几分钟)并且有很多错误(对于 70% 的学生来说第一次可以工作)。 (4认同)

Raf*_*off 18

这就是为我解决的问题:

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)

然后再次运行更新:

brew update -d --auto-update --verbose --force --debug
Run Code Online (Sandbox Code Playgroud)

来源: https: //discussions.apple.com/thread/253961400


小智 8

我也跑了,

mkdir /usr/local/Homebrew/.git/TMP_FETCH_FAILURES
Run Code Online (Sandbox Code Playgroud)

这对我有用


小智 7

我曾经遇到过brew update一次“挂起”问题,并尝试了迄今为止答案中建议的所有内容,包括:

\n
    \n
  • 关闭我的防火墙 \xe2\x80\x94 没有任何改变
  • \n
  • 使用代理服务器 \xe2\x80\x94brew update无法开始获取存储库
  • \n
  • 弄乱TMP_FETCH_FAILURES文件/目录 \xe2\x80\x94 没有任何改变
  • \n
  • 运行git remote-https origin https://github.com/Homebrew/homebrew-core\xe2\x80\x94 命令挂起
  • \n
  • 重新启动 macOS(这比预期更有帮助)\xe2\x80\x94 没有任何改变
  • \n
  • 运行brew cleanup, brew autoremove\xe2\x80\x94 与本主题无关,只是尝试一些事情。的行为没有任何改变brew update
  • \n
  • 运行brew doctor\xe2\x80\x94 没有任何改变
  • \n
\n

最终唯一有效的是访问https://brew.sh/#install并再次运行提供的安装脚本。问题就这样消失了。

\n