Ошибка ошибки: не удалось заблокировать файл конфигурации .git/config: при установке Carthage происходит отказ в доступе

Я хочу установить carthage на свой Mac OS с помощью команды brew install 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.

Можете ли вы сообщить мне, в чем проблема? Заранее спасибо.


person Reza    schedule 14.03.2018    source источник
comment
Пожалуйста, запустите brew doctor; следуйте его рекомендациям; и попробуй еще раз.   -  person bfontaine    schedule 14.03.2018


Ответы (6)


Проверьте права доступа к этим файлам.

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 здесь

person Kazunori Takaishi    schedule 07.05.2018
comment
В macOS Mojave (10.14) мне нужно было запустить это: sudo chown -R $(whoami):admin /usr/local/* && sudo chmod -R g+rwx /usr/local/* - person Nic; 31.05.2019
comment
была такая же проблема, у меня это сработало очень хорошо, спасибо @Kazunori Takaishi - person aramis; 26.11.2020

В High Sierra выполните команду:

sudo chown -R $(whoami) $(brew --prefix)/*
person Safa Ozturk    schedule 11.08.2018

Это сработало для меня: macOS Catalina 10.15.1

sudo chown -R $(whoami):admin /usr/local/* && sudo chmod -R g+rwx /usr/local/*
person user1983244    schedule 17.12.2019
comment
Добро пожаловать в Stack Overflow! Хотя эта команда может ответить на вопрос, лучше включить некоторый контекст, объясняющий, как она работает и когда ее использовать. Ответы только на код, как правило, менее полезны в долгосрочной перспективе. Дополнительную информацию см. в разделе Как написать хороший ответ?. - person Mark Ormesher; 17.12.2019

В моем случае эта команда работает:

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

Однако есть и более простой способ установки Carthage вместо командной строки. Достаточно скачать последний пакет по этой ссылке и установить его на свой Mac с помощью мастера.

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

person Reza    schedule 13.09.2018
comment
@doapydave: Рад это слышать :) - person Reza; 17.10.2019

Вы также можете использовать это вместо sudo chown -R $USER $(brew --prefix)/*

person Olaoye Oluwapelumi    schedule 05.12.2019

У меня macOS Catalina 10.15.1 в нерабочее время (как всегда) это сработало.

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

person DeMayo Tech    schedule 30.03.2020