Еще один активный процесс домашнего пивоварения уже выполняется


88

Когда я пытаюсь это сделать:

brew install node

Я получаю это сообщение:

 /usr/local/Homebrew/Library/Homebrew/utils/lock.sh: line 19: /usr/local/var/homebrew/locks/update: Permission denied
-e:1:in `initialize': Bad file descriptor (Errno::EBADF)
    from -e:1:in `new'
    from -e:1:in `<main>'
Error: Another active Homebrew process is already in progress.
Please wait for it to finish or terminate it to continue.
Error: Permission denied - /usr/local/var/homebrew/locks/node.brewing

Есть идеи, как это решить?

Ответы:


205

Если приведенный выше ответ не решает вашу проблему, попробуйте снять блокировки процесса homebrew с помощью этой команды:

rm -rf /usr/local/var/homebrew/locks

1
почему бы не остаться в безопасности с for file in ls * lock ; do mv $file $file.old; done?
isomorphismes

1
СПАСИБО, это было прекрасно!
lizziepika

Это не рекомендуется. Ошибка в неправильных разрешениях; эти locksфайлы имели цель и удаление это не самый безопасный вариант.
Kamafeather

1
Я решил попробовать это, если другой ответ не сработает; Я имел в виду решение @kalibrain. Мне пришлось сделать и то, и другое.
omikes

47

Как предполагает этот поток в какой-то момент, моя проблема заключалась в том, чтобы запустить команду brew с привилегиями sudo в первый раз. Это приводит к тому, что brew пытается получить доступ к привилегированным файлам и папкам, и это не удается. Если это так, запустите эти команды и попробуйте снова установить узел.

sudo chown -R "$USER":admin /usr/local

brew cleanup


Да, проблема возникла после перемещения файлов в резервную копию и их последующего восстановления. Владелец файлов был установлен на неизвестный GID; восстановление chownвернуло весь функционал без ошибок.
Kamafeather

Кроме того, убедитесь, что разрешения фиксированы, с ls -la /usr/local/. Если это не так, попробуйте добавить звездочку, чтобы обозначить все подфайлы (например, sudo chown -R "$USER":admin /usr/local/*).
Kamafeather


12

Просто введите в свой терминал следующее:

brew cleanup

Это должно устранить любые проблемы. Следуйте команде с:

brew doctor

Все сделано.


9

В моем случае на OSX я прервал установку узла, а затем попытался снова запустить узел установки, поэтому я получил ошибку, упомянутую в вопросе.
Я попробовал следующие шаги из других ответов:

sudo chown -R "$USER":admin /usr/local

brew cleanup

а также

rm -rf /usr/local/var/homebrew/locks

но это сообщение появляется снова - поэтому не знаю, помогли ли вышеуказанные шаги.

Затем я закрыл вкладку терминала и в новой запустил

brew install -v node

Успешная установка узла заняла 11 минут


1
на macOS безопаснее sudo chown -R "$USER":admin /usr/local/*. Без звездочек я не получил правильного расширения, и большинство вложенных файлов / папок не были затронуты командой.
Kamafeather

3

Изменение разрешения файла позволит избежать этой ошибки:

sudo chown <your-username>:admin /usr/local/Homebrew/Library/Homebrew/utils/lock.sh

Для проблем с разрешениями при установке или обновлении homebrew:

Измените настройки разрешений для домашнего пивоварения

sudo chown -R <your-username>:admin /usr/local/Homebrew

sudo chown -R <your-username>:admin /usr/local/var/homebrew

Затем запустите установку или обновление homebrew


Смена разрешений на /usr/local/Homebrewи /usr/local/var/homebrewэто именно то, что мне помогло
brigadir

0

Я не знаю, что происходило. Мой единственный активный терминал ждал ввода, никаких заданий не выполнялось в фоновом режиме. Я только что попытался запустить установку RVM, которая не удалась, и попросил меня обновить Homebrew, но это должно было быть завершено, так как терминал ждал ввода. После нескольких повторных вызовов команд и через пару минут я перестал получать сообщение.

Это на Mac OSX 10.13.6 с iTerm2.

⋊> brew --version
Homebrew 2.1.4
Homebrew/homebrew-core (git revision 97b15a; last commit 2019-06-07)
Homebrew/homebrew-cask (git revision 2a010; last commit 2019-06-07)
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.