При установке tig
, HomeBrew
отображают следующие проблемы при установке зависимости:
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/a2x
/usr/local/bin is not writable.
You can try again using:
brew link asciidoc
Ответы:
После ответа Алекса я смог решить эту проблему; Кажется, это проблема не только для устанавливаемых пакетов, но и для разрешений
homebrew
папок.Для некоторых пакетов, вам может понадобиться , чтобы сделать это
/usr/local/share
или/usr/local/opt
:источник
sudo chown -R
whoami не:admin /usr/local/bin
будет эквивалентно команде в ответе, без необходимости заменыyourusename
на ваше настоящее имя пользователя?usr/local/opt
рекурсивно. Это сработало после этого./usr/local/bin
(и друзей), кажется, возвращаются кdrwxr-xr-x+
иroot wheel
каждый день. Я должен переконфигурировать завивки каждый раз, когда я хочуbrew install
. Я предполагаю, что операционная система сбрасывает перми, чтобы защитить меня? Как я могу остановить это? (Я пробовал,chflags uchg …
но это мешаетВместо того, чтобы запускать какую-либо конкретную команду, я бы порекомендовал запустить
brew doctor
и воспринимать все предупреждения серьезно. Могут возникнуть другие проблемы, с которыми вы можете застрять, и которые не могут быть рассмотрены в этом вопросе.Кроме того, поскольку brew обновляется со временем, определенные команды могут или не могут оставаться в силе.
brew doctor
Тем не менее, убедитесь, что вы получите актуальную информацию по устранению неполадок.источник
brew doctor
не решит проблему, она только расскажет вам об этом, и когда вы прислушаетесь к совету врача, Brew говорит, что не может этого сделать. Это не решениеДругие ответы верны, но они не отвечают, почему эта проблема может возникать, и как устранить эту коренную причину.
причина
Есть две возможные причины этой проблемы:
brew doctor
подсказывает, если вы ее запустите.Решение
Многопользовательский доморощенный
Если у вас есть несколько учетных записей пользователей, и вы хотите, чтобы более чем одна из них могла использовать brew, вам нужно выполнить несколько шагов, в противном случае вам придется постоянно менять владельца файловой структуры Homebrew каждый раз, когда вы переключаете пользователей, и это не очень хорошая идея.
Подробные инструкции можно найти в Интернете , но быстрый ответ таков:
Создайте группу с именем brew:
sudo chgrp -R brew /usr/local
sudo chmod -R g+w /usr/local
sudo chgrp -R brew /Library/Caches/Homebrew
sudo chmod -R g+w /Library/Caches/Homebrew
Однопользовательский доморощенный
Если вы не пытаетесь использовать более одного пользователя с Homebrew, то,
brew doctor
вероятно, будет достаточно решения, предоставленного другими ответами на основе предложений :sudo chown -R $(whoami) /usr/local
sudo chown -R $(whoami) /Library/Caches/Homebrew
верификация
После этих шагов
brew doctor
должен сообщить об успехе любой пользователь в группе brew , предполагая, что вы вышли из системы и вернулись, чтобы применить новые членства в группе (если вы прошли многопользовательский маршрут). Если вы только что исправили вещи для однопользовательского домашнего варки, то выход из системы и повторный вход не должны быть необходимыми, поскольку ни одно из членов вашей группы не изменилось.источник
/usr/local/bin
доступный для записи, esp. в многопользовательской среде. Это действительно "официальный" способ приготовления?Для тех, кто ищет
/usr/local/sbin
не записываемую ошибку:ОБНОВЛЕНИЕ: Это может быть,
/usr/local/someOtherFolderName
например/usr/local/include
. Вам просто нужно создать эту папку с:sudo mkdir someOtherFolderName
Сначала создайте
sbin
папку, обратите внимание, что это требуетsudo
привилегийcd /usr/local
sudo mkdir sbin
sudo chown -R $(whoami) $(brew --prefix)/*
brew link yourPackageName
источник
PATH=$PATH:/usr/local/sbin
Я нашел для моей конкретной настройки следующие команды работали
И тогда это показало мне, где были мои ошибки, а затем эта немного отличающаяся команда от комментария выше.
источник
brew doctor
brew doctor
хороший.Я нашел ту же проблему, мы можем решить в три этапа:
Шаг 1
Шаг 2
Шаг 3
Если у вас все еще есть проблемы со ссылками, скажем
mysql
, просто напишитеЭто будет работать
источник
Для тех, кто сталкивался с этой проблемой (предоставленной через 4 года после создания этого поста) во время работы с Mac OS High Sierra - описанные здесь шаги решили эту проблему для меня. По сути, просто описывает удаление и повторную установку Brew.
https://medium.com/@mrkdsgn/brew-error-on-macos-high-sierra-check-you-have-permission-to-write-to-usr-local-e8bd1c6a22d4
После выполнения этих шагов,
brew link
работал как шарм!источник
Для меня решение было запустить
brew update
.Итак, сделайте это в первую очередь.
Это может быть нормальной практикой для людей, знакомых с домашним пивом, но я не из тех людей.
Изменить: я обнаружил, что мне нужно обновить, запустив,
brew doctor
как предложено в ответе @ kinnth на этот же вопрос.Общий процесс устранения неполадок может выглядеть следующим образом: 1. запустить
brew update
2. если это не помогает запуститьbrew doctor
и следуйте его указаниям 3. если это не поможет проверить переполнение стекаисточник
При выполнении узла brew link Кроме того, у меня появились следующие проблемы:
Ошибка: не удалось включить символическую ссылку / узел / usr / local / include.
Ссылка /usr/local/Cellar/node/9.3.0 ... Ошибка: в доступе отказано @ dir_s_mkdir - / usr / local / lib
Чтобы решить вышесказанное, просто перейдите в / usr / local / и проверьте наличие папок «include» и «lib», если эти папки недоступны, просто создайте их вручную.
И снова запустите узел установки brew
источник
Это потому, что текущему пользователю не разрешено писать по этому пути. Таким образом, для изменения прав на чтение / запись вы можете использовать либо 1. терминал, либо 2. Графическое окно «Информация».
1. Использование терминала
Google, как использовать команды chmod / chown (сменить режим / сменить владельца) из терминала
2. Использование графического «Получить информацию»
Вы можете щелкнуть правой кнопкой мыши по папке / файлу, для которого вы хотите изменить права доступа, а затем открыть Get Info, который покажет вам окно, как показано ниже, в нижней части которого вы можете легко изменить права доступа:
Не забудьте изменить разрешение обратно на «только чтение» после вашей временной работы, если это возможно
источник
Для пользователей Антивируса Sophos я нашел следующее:
https://stackoverflow.com/a/32981184
https://community.sophos.com/products/free-antivirus-tools-for-desktops/f/17/t/10029
Короче говоря, Sophos меняет разрешения определенных каталогов / usr / local. Sophos исправил это, и исправление включено в версию 9.4.1.
источник
Моя проблема была
chown
не помогло, но я последовалbrew doctor
советам, и это предупреждение помогло мне:Ведь
brew prune
все работало нормально!источник
Для тех, кто не знаком:
источник
Если вы перейдете в папку в Finder, щелкните правой кнопкой мыши и выберите «Получить информацию», вы можете перейти в раздел «Общий доступ и разрешения» для папки и разрешить «Чтение и запись» «всем».
Это то, что я делаю, чтобы символические ссылки проходили с этой ошибкой. Также brew, кажется, сбрасывает права доступа к папке, как будто вы ничего не меняли.
источник
Если у вас уже есть каталог
/usr/local
для устанавливаемого пакета, вы можете попробовать удалить этот каталог.В моем случае я ранее установил пакет, который пытался установить без использования brew, а затем удалил его. После
/usr/local/<my_package>/
предыдущей установки остался каталог . Я удалил эту папку (sudo rm -rf /usr/local/<my_package>/
), и после этого шаг brew link прошел успешно.источник