错误:警告:无法访问“/etc/gitconfig”:通过 gh repo 克隆克隆 GitHub 存储库时,权限被拒绝

fr_*_*lio 8 github-cli

在 Ubuntu 20.04 上,我gh通过以下方式安装了 CLI 工具:

sudo snap install gh
Run Code Online (Sandbox Code Playgroud)

然后,尝试gh repo clone公共存储库导致了错误:

Error: warning: unable to access '/etc/gitconfig': Permission denied
Run Code Online (Sandbox Code Playgroud)

这是通过 HTTPS 和使用新生成的密钥的 SSH 发生的。像这样的相关 QA指出了安装可能出现问题的可能性。

如何解决这个问题,以便我可以使用SSH 密钥获得与旧克隆最接近的东西?

fr_*_*lio 15

可能是snap安装被封装了,导致无法访问 GitHub 配置文件。在这种情况下,最简单的修复方法是卸载 CLI 工具并按照官方文档重新安装:

# remember to logout from GH if you haven't done so...
gh auth logout
sudo snap remove gh
Run Code Online (Sandbox Code Playgroud)

现在,在新终端上(刷新与 snap 相关的环境变量),通过以下官方步骤进行安装(应该适用于任何基于 Debian 的系统):

curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo gpg --dearmor -o /usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update
sudo apt install gh
Run Code Online (Sandbox Code Playgroud)

至此我们就都准备好了。通过您最喜欢的方法进行身份验证(我通过浏览器选择 HTTPS),并且克隆应该可以正常工作:

gh auth login
gh repo clone <YOUR_REPO>
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!
干杯,
安德烈斯