Доморощенный вопрос установки разрешений
У меня есть стандартная домашняя установка внутри usr/local/
Когда я пытаюсь:
Larson-2:~ larson$ brew install postgresql
Error: Cannot write to /usr/local/Cellar
И когда я использую sudo:
Larson-2:~ larson$ sudo brew install postgresql
Cowardly refusing to `sudo brew install'
Что я делаю неправильно?
5 ответов
У вас как-то ограничены разрешения на /usr/local/Cellar
, Brew не любит устанавливать с sudo, поэтому отказывается.
Проверьте разрешения:
ls -ld /usr/local/Cellar
Откройте их для записи:
sudo chmod a+w /usr/local/Cellar
Не использовать sudo
при работе с brew
(по соображениям безопасности).
Вы должны просто настроить свои разрешения.
Поэтому я бы пошел еще дальше и изменил разрешения на:
sudo chgrp -R admin /usr/local /Library/Caches/Homebrew
sudo chmod -R g+w /usr/local /Library/Caches/Homebrew
а затем применить конкретную группу (либо admin
или же staff
) пользователю, которому следует разрешить использовать brew
команда. Проверьте группы вашего пользователя через: id -Gn
).
Если есть дальнейшие проблемы, запустите: brew doctor
чтобы увидеть, что не так.
Я бы изменил разрешения группы:
$ chgrp -R admin /usr/local/Cellar
$ chmod g+w /usr/local/Cellar
при условии, что ваша учетная запись находится в группе администраторов.
Это также происходит, если на вашем компьютере несколько пользователей. Если это так, то вам лучше сменить пользователя, так как при любом другом подходе вы будете возиться с большим количеством файлов и папок, чем просто /usr/local/Cellar
использование su userWhoInstalledBrew
,
Следуя совету chukcha14, приведенному в его ответе на странице Нет файла Cellar в моем usr/ локальном каталоге для пивоварения, я сделал следующее:
jaimes-mbp:SMR jaimemontoya$ brew install mongodb-community@4.2
Warning: You are using OS X 10.15.
We do not provide support for this pre-release version.
You may encounter build failures or other breakages.
Error: Could not create /usr/local/Cellar
Check you have permission to write to /usr/local
jaimes-mbp:SMR jaimemontoya$ sudo mkdir /usr/local/Cellar
Password:
jaimes-mbp:SMR jaimemontoya$ sudo chown $(whoami) /usr/local/Cellar
jaimes-mbp:SMR jaimemontoya$ brew install mongodb-community@4.2
Warning: You are using OS X 10.15.
We do not provide support for this pre-release version.
You may encounter build failures or other breakages.
==> Installing mongodb-community from mongodb/homebrew-brew
==> Downloading https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-4.2.3.tgz
###################################################################################### 100.0%
Error: Failed to install plist file
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink .
/usr/local/opt is not writable.
You can try again using:
brew link mongodb-community
Warning: The post-install step did not complete successfully
You can try again using `brew postinstall mongodb/brew/mongodb-community`
==> Caveats
To have launchd start mongodb/brew/mongodb-community at login:
ln -sfv /usr/local/opt/mongodb-community/*.plist ~/Library/LaunchAgents
Then to load mongodb/brew/mongodb-community now:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb-community.plist
Or, if you don't want/need launchctl, you can just run:
mongod --config /usr/local/etc/mongod.conf
==> Summary
/usr/local/Cellar/mongodb-community/4.2.3: 20 files, 304M, built in 110 seconds
jaimes-mbp:SMR jaimemontoya$ sudo mkdir /usr/local/opt
jaimes-mbp:SMR jaimemontoya$ sudo chown $(whoami) /usr/local/opt
jaimes-mbp:SMR jaimemontoya$ brew link mongodb-community
Linking /usr/local/Cellar/mongodb-community/4.2.3... 13 symlinks created
jaimes-mbp:SMR jaimemontoya$
Проблема может быть решена путем изменения владельца каталога на текущего пользователя:
sudo chown -R $USER /usr/local
Этот ответ взят из: https://github.com/Homebrew/homebrew/issues/17884
Смешно , но я получил
Error: Cannot write to /usr/local/Cellar
сообщение из-за нехватки места на диске..:/ (осталось 18 МБ)