尝试通过 Homebrew 安装 Hugo - “无法将 HEAD 解析为修订版”
Posted
技术标签:
【中文标题】尝试通过 Homebrew 安装 Hugo - “无法将 HEAD 解析为修订版”【英文标题】:Trying to install Hugo via Homebrew - "Could Not Resolve HEAD to a Revision" 【发布时间】:2021-04-12 18:15:46 【问题描述】:我正在尝试使用 Hugo 在新站点上进行测试,但在安装过程中遇到了问题。我已经安装了 Homebrew,并且在运行该版本时,我得到以下信息:
~ % brew --version
Homebrew 2.7.2
Homebrew/homebrew-core (no git repository)
Homebrew/homebrew-cask (git revision b96680c; last commit 2021-01-07)
当我运行brew install hugo
我得到以下信息:
~ % brew install hugo
fatal: Could not resolve HEAD to a revision
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
Error: No available formula or cask with the name "hugo".
==> Searching for a previously deleted formula (in the last month)...
Error: No previously deleted formula found.
==> Searching taps on GitHub...
Error: No formulae found in taps.
我做错了什么?这是第一次在自制领域工作。
编辑:运行 brew install --verbose Hugo
时,我收到以下警告:
% brew install --verbose hugo
fatal: Could not resolve HEAD to a revision
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
Error: No available formula or cask with the name "hugo".
==> Searching for a previously deleted formula (in the last month)...
Error: No previously deleted formula found.
==> Searching taps on GitHub...
/usr/bin/curl --disable --globoff --show-error --user-agent Homebrew/2.7.2\ \(Macintosh\;\ Intel\ Mac\ OS\ X\ 11.1\)\ curl/7.64.1 --header Accept-Language:\ en --retry 3 --location https://api.github.com/search/code\?q=user\%3AHomebrew\+path\%3AFormula\+path\%3ACasks\+path\%3A.\+filename\%3Ahugo\+extension\%3Arb\&per_page=100 --header Accept:\ application/vnd.github.v3\+json --write-out '
'\%\http_code\ --header Accept:\ application/vnd.github.antiope-preview\+json --header Authorization:\ token\ ****** --dump-header /private/tmp/github_api_headers20210106-8376-1r02uaz
【问题讨论】:
试试brew doctor
?
我收到一些警告但没有错误。更新了问题以反映。
【参考方案1】:
使用
git -C $(brew --repository homebrew/core) checkout master
或
git -C $(brew --repository homebrew/core) reset --hard HEAD
【讨论】:
如果checkout master
引发一些错误,您可能需要明确指定远程(例如origin
),如git -C $(brew --repository homebrew/core) checkout origin/master
。使用git remote -v
获取远程名称。看到这个原因:***.com/questions/1783405/…
这对我很有用,谢谢@Gino Mempin【参考方案2】:
如this thread 所示,这可能与brew
本身有关,与hugo
无关。
brew install --verbose hugo
这应该会给你更多,让你看到 brew 卡在哪一步。
[发生错误的地方],我切换到那个目录发现它是空的——目录中只有一个
.git/
文件夹,没有别的。所以,为了恢复丢失的内容,我使用了
git fetch
和git pull --rebase
。
No available formula or cask with the name "hugo".
这表明存在 brew 配置问题,因为 formulae 对应于 hugo
软件包是根据它们的公式安装的,它们位于
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula
检查Formula
文件夹,看看那里是否缺少hugo
。
如果没有,至少在a new tap 中尝试brew extract hugo
。
brew tap-new gohugoio/hugo
brew extract --version 0.80.0 hugo gohugoio/hugo
brew install gohugoio/hugo/hugo@0.80.0
【讨论】:
【参考方案3】:通过运行以下两个命令来设置您的核心
-
rm -rf $(brew --repo homebrew/core)
brew tap homebrew/core
【讨论】:
【参考方案4】:我遇到了同样的错误。我尝试了上面的大多数解决方案。最后,这些步骤有所帮助:
卸载自制软件
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
手动删除这个文件和两个文件夹
/usr/local/com.apple.installer.keep
/usr/local/Homebrew
/usr/var/homebrew
再次安装自制软件
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
【讨论】:
以上是关于尝试通过 Homebrew 安装 Hugo - “无法将 HEAD 解析为修订版”的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Yosemite 上安装 Homebrew:/usr/local/lib 已经存在