Macos 在mac osx 10.10上通过自制安装git会导致:错误:权限被拒绝-/usr/local/lib/perl5/site_perl/5.18.2

Macos 在mac osx 10.10上通过自制安装git会导致:错误:权限被拒绝-/usr/local/lib/perl5/site_perl/5.18.2,macos,git,github,homebrew,Macos,Git,Github,Homebrew,嗨,我刚试着在我的mac电脑上通过自制程序安装git-出了点问题。我安装了github for mac应用程序,但我尝试将其删除。我的系统中当前的git版本是: Nielsk@~: $ git --version git version 1.9.3 (Apple Git-50) 如果我尝试通过自制程序安装git,就会出现这种情况: Nielsk@~: $ brew install git ==> Downloading https://downloads.sf.net/project/m

嗨,我刚试着在我的mac电脑上通过自制程序安装git-出了点问题。我安装了github for mac应用程序,但我尝试将其删除。我的系统中当前的git版本是:

Nielsk@~: $ git --version
git version 1.9.3 (Apple Git-50)
如果我尝试通过自制程序安装git,就会出现这种情况:

Nielsk@~: $ brew install git
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/git-2.1.3.y
######################################################################## 100,0%
==> Pouring git-2.1.3.yosemite.bottle.tar.gz
==> Caveats
The OS X keychain credential helper has been installed to:
  /usr/local/bin/git-credential-osxkeychain

The 'contrib' directory has been installed to:
  /usr/local/share/git-core/contrib

Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completion has been installed to:
  /usr/local/share/zsh/site-functions
Error: An unexpected error occurred during the `brew link` step
The formula built, but is not symlinked into /usr/local
Permission denied - /usr/local/lib/perl5/site_perl/5.18.2
Error: Permission denied - /usr/local/lib/perl5/site_perl/5.18.2

我如何解决这个问题?

我也遇到了同样的问题。我认为我们应该更改可读权限,以确保所有目录都是可读的。所以我尝试了命令:
sudochown-R$USER:admin/usr/local

然后:
brew链接——覆盖git
它对我有效,希望它也能对你有效。

在安装
git
之前,我有一个类似的
权限被拒绝的错误,直到我清除了:

$brew doctor
   .....   << long output of issues, so you run:
$brew prune
$brew doctor
   .....   << less issues now, so manually clean up
$brew update 
$brew install git 
$brew医生

..... 对于使用新El Capitan操作系统的用户,您需要更新您的权限:

打开终端并键入以下命令:

$ sudo chown -R $(whoami):admin /usr/local 
$ brew doctor 
$ brew update
$ brew link --overwrite git

上述解决方案适用于其他brew安装,如node等。如果您开始安装,但在brew安装过程中遇到错误,请更换最后一行。

High Sierra,不允许使用
/usr/local
chown
。但是,您仍然可以更改
/usr/local
中的子目录的权限

在我的例子中,我必须在
/usr/local
sudo chown-R$(who)框架中创建
框架。然后按照
brew医生的话进行操作

更好的方法是创建所需的子目录并运行


sudo chown-R$(whoami)$(brew--前缀)/*

我做了
brew doctor
推荐的事情,它有助于:

sudo mkdir -p /usr/local/sbin
sudo chown -R $(whoami) /usr/local/sbin

MacOS 10.14.4

如果您使用
sudo brew install git作为提升用户进行安装,会发生什么情况
我为什么要使用brew进行sudo,这不是真正的想法,是吗?当我评论这个问题时,我在想Macports,你使用自制软件是正确的,
sudo
的用法甚至不正确supported@NielsKristian:您可能以前在/usr/local上安装了某些东西(非自制),或者在某个时候您使用sudo运行了写入/usr/local的命令。修改权限是您应该做的,也是自制安装程序应该做的。在您可以找到的自制
issues
页面中有一条关于这一点的主要线索。Mike McQuaid是homebrew的维护者,他明确表示更改/usr/local priv是首选方式。您将看到他建议对权限进行与Jonyzfu类似的更改。@Jonyzfu虽然您的命令没有问题,但我认为您的推理是错误的。
sudo chown-R$USER:admin/usr/local
并不能使
/usr/local
中的所有内容都可读。'-R'表示
递归
。此命令所做的是更改
用户
,以便所讨论的$user和组
管理员
是所有者
$USER
是一个变量,用于保存运行命令时登录的用户的名称。如果您不是
admin
组的成员或与您一起运行命令的用户,您可能会发现自己的readw/rite权限受到限制,具体取决于实际的目录/文件权限。@MichaelPetch感谢您的详细解释。这很有帮助。下次我会提供更详细、更准确的答案,就像你的态度一样。@MichaelPetch我刚刚在全新的Macbook Pro(约塞米蒂10.10.2)上遇到了同样的许可问题。我根本没有在
/usr/local
上安装任何其他东西。在全新安装El Capitan时也有同样的问题,我以前没有安装任何东西。但这似乎奏效了。