安装 Carthage 时出现“错误:无法锁定配置文件 .git/config:权限被拒绝”的错误

Posted

技术标签:

【中文标题】安装 Carthage 时出现“错误:无法锁定配置文件 .git/config:权限被拒绝”的错误【英文标题】:Error of "error: could not lock config file .git/config: Permission denied" occurs while installing Carthage 【发布时间】:2018-08-23 05:36:58 【问题描述】:

我想使用 brew install carthage 命令在我的 Mac OS 上安装 carthage。但是,我收到以下错误:

touch: /usr/local/Homebrew/.git/FETCH_HEAD: Permission denied
touch: /usr/local/Homebrew/Library/Taps/caskroom/homebrew-cask/.git/FETCH_HEAD: Permission denied
touch: /usr/local/Homebrew/Library/Taps/dart-lang/homebrew-dart/.git/FETCH_HEAD: Permission denied
touch: /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/FETCH_HEAD: Permission denied
fatal: Unable to create '/usr/local/Homebrew/.git/index.lock': Permission denied
error: could not lock config file .git/config: Permission denied
Warning: carthage 0.26.2 is already installed, it's just not linked.
You can use `brew link carthage` to link this version.

当我使用sudo brew install carthage时,我也收到以下错误:

Error: Running Homebrew as root is extremely dangerous and no longer supported.
As Homebrew does not drop privileges on installation you would be giving all
build scripts full access to your system.

你能告诉我是什么问题吗?提前致谢。

【问题讨论】:

请运行brew doctor;遵循其建议;然后再试一次。 【参考方案1】:

检查这些文件的权限。

ls -l /usr/local/Homebrew/.git/FETCH_HEAD
ls -l /usr/local/Homebrew/Library/Taps/caskroom/homebrew-cask/.git/FETCH_HEAD
ls -l /usr/local/Homebrew/Library/Taps/dart-lang/homebrew-dart/.git/FETCH_HEAD
ls -l /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/FETCH_HEAD

如果你没有权限,运行

sudo chown -R $(whoami):admin /usr/local/* && sudo chmod -R g+rwx /usr/local/*

在 High Sierra 及更高版本中,请改为运行以下命令:

sudo chown -R $(whoami) $(brew --prefix)/*

也可以查看相关的github问题here

【讨论】:

Operation not permitted 在 macOS Mojave (10.14) 下我需要运行这个:sudo chown -R $(whoami):admin /usr/local/* && sudo chmod -R g+rwx /usr/local/* 有同样的问题,这对我来说效果很好,谢谢@Kazunori Takaishi【参考方案2】:

在 High Sierra 中,运行命令:

sudo chown -R $(whoami) $(brew --prefix)/*

【讨论】:

【参考方案3】:

在我的情况下,这个命令有效:

  sudo chown -R $(whoami) $(brew --prefix)/*

但是,还有一种更简单的方式来安装 Carthage,而不是命令行方式。从此链接下载最新的软件包并以向导的方式将其安装在您的 Mac 上就足够了。

https://github.com/Carthage/Carthage/releases

【讨论】:

@doapydave:很高兴听到这个消息 :)【参考方案4】:

我有 High Sierra,只有这个对我有用。

1. sudo chown -R $(whoami):admin /usr/local/* && sudo chmod -R g+rwx /usr/local/* 你不应该在 brew 之前写 sudo 正确的命令是 2.brew安装mysql

【讨论】:

【参考方案5】:

你也可以用这个代替 sudo chown -R $USER $(brew --prefix)/*

【讨论】:

【参考方案6】:

这对我有用: macOS Catalina 10.15.1

sudo chown -R $(whoami):admin /usr/local/* && sudo chmod -R g+rwx /usr/local/*

【讨论】:

欢迎来到 Stack Overflow!虽然这个命令可能会回答这个问题,但最好包含一些上下文,解释它是如何工作的以及何时使用它。从长远来看,纯代码的答案往往不太有用。有关更多信息,请参阅How do I write a good answer?。【参考方案7】:

下班后我有 macOS Catalina 10.15.1(和往常一样),这很有效。

sudo chown -R $(whoami):admin /usr/local/* && sudo chmod -R g+rwx /usr/local/*

【讨论】:

以上是关于安装 Carthage 时出现“错误:无法锁定配置文件 .git/config:权限被拒绝”的错误的主要内容,如果未能解决你的问题,请参考以下文章

IOS Carthage安装使用

无法使用 carthage 安装依赖项

Carthage 安装和使用

Carthage的安装和使用

使用Carthage安装及使用第三方库

让自己的项目支持 Carthage