【问题标题】:Why can't I clone a repo into /usr/local?为什么我不能将 repo 克隆到 /usr/local 中?
【发布时间】:2016-09-10 18:12:10
【问题描述】:

我正在尝试将 github 存储库克隆到 /usr/local,但出现以下错误:

fatal: unable to access 'https://github.com/gsjaardema/seacas.git/': 
Failed to connect to github.com port 443: Operation timed out

我在防火墙后面,并在我的.gitconfig 中设置了我的代理。我可以将此 repo 克隆到 /Users/$USER 下的任何目录,但 不能 将其克隆到 /opt 或 /usr/local 下的任何目录。

我正在运行 Mac OS X 10.11.4 并且正在使用 git 版本 2.8.2。提前致谢!

【问题讨论】:

  • 您对 /isr/local 有写入权限吗? (错误看起来与您提到的问题无关?)
  • 请不要用 git repos 污染 /opt 或 /usr/local。您可以在其他地方签出代码。如果需要,您可以将二进制文件安装到 /opt/ 或 /usr/local。 (通常由 make install 步骤提供)
  • @Jayan 我确实拥有对 /usr/local 的写入权限并拥有该目录。感谢您关于克隆其他地方然后在 /usr/local 下构建代码的建议。

标签: git github proxy osx-elcapitan


【解决方案1】:

尝试切换到其他协议或使用此配置:

git config --global url."http://".insteadOf https://

这应该将以下条目添加到您的配置文件中:

[url "git://"]   
    insteadOf = https://

但现在你需要有 ssh 密钥。

【讨论】:

  • 您的意思是添加ssh:// 吗? git协议与ssh、AIUI无关。
【解决方案2】:

我找到了适合我的解决方案。它由两部分组成:

1 - 我通过运行将权限固定为/usr/local(来源:http://digitizor.com/fix-homebrew-permissions-osx-el-capitan/

sudo chown $(whoami):admin /usr/local && sudo chown -R $(whoami):admin /usr/local

2 - 我克隆了没有 sudo 的 repo。

我没有单独尝试过这些步骤,但我相信这是两者的结合。希望我的回答对其他人有所帮助。

尽管经过进一步检查,我喜欢@Jayan 提出的想法。将 repo 克隆到其他地方并在 /usr/local 中构建它。也就是说,要做到这一点,我仍然需要修复许可(步骤#1)。

【讨论】:

    【解决方案3】:

    /usr 文件夹归根用户所有。

    您可以使用sudo 命令克隆到/usr/local 或更常用的/usr/src

    cd /usr/local
    sudo git clone {repo}
    

    通常,/usr/local 用于您自己的本地项目。如果我稍后将其中一个项目放到 GitHub 上或在网站上共享以供下载,我会先将其移至 /usr/src

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-22
      • 1970-01-01
      • 2013-08-07
      • 2022-09-29
      • 2011-10-17
      • 1970-01-01
      相关资源
      最近更新 更多