Я только что установил homebrew и получаю это предупреждение:

доктор варево

Обратите внимание, что эти предупреждения используются только для помощи отладчикам Homebrew в устранении неполадок. Если все, для чего вы используете Homebrew, работает нормально: пожалуйста, не беспокойтесь и просто игнорируйте их. Спасибо!

Предупреждение: несваренные файлы были найдены в /usr /local /lib. Если вы не поместили их туда специально, они могут вызвать проблемы при создании формул Homebrew, и, возможно, их придется удалить.

Неожиданные дилибы:

/usr/local/lib/libMonoPosixHelper.dylib

/usr/local/lib/libSFFileMonitor.32.dylib

/usr/local/lib/libSFIPC.32.dylib

/usr/local/lib/libSFIPC.I.dylib

/usr/local/lib/libSFsqlite3.7.4.dylib

/usr/local/lib/libSFSyncEngine.I.dylib

1 ответ1

0

Само предупреждение ясно формулирует проблему:

Обратите внимание, что эти предупреждения используются только для помощи отладчикам Homebrew в устранении неполадок. Если все, для чего вы используете Homebrew, работает нормально: пожалуйста, не беспокойтесь и просто игнорируйте их. Спасибо!

Именно это; Акцент мой:

Предупреждение: несваренные файлы были найдены в /usr /local /lib. Если вы не поместили их туда специально, они могут вызвать проблемы при создании формул Homebrew, и, возможно, их придется удалить.

Ключевым моментом является то, что домашнее варенье только проходит и указывает на потенциальные проблемы, а не текущие проблемы. Риск состоит в том, что эти локально установленные динамические библиотеки могут иметь более старые / более новые версии, которые не проверяются по рецептам домашнего приготовления. Таким образом, есть крайний случай, когда они могут вызвать проблемы в будущем.

Глядя на динамические библиотеки, перечисленные там, кажется, что они подключены к Citrix Receiver, как объяснено в этом ответе переполнения стека. Поэтому, если вы активно используете Citrix Receiver, вы не можете удалить эти файлы. Но если вы не используете приемник Citrix, вы, скорее всего, можете безопасно их удалить.

Тем не менее, есть два возможных решения: белый список файлов и их полное удаление.

Белый список динамических файлов библиотеки.

Если вы используете Citrix Receiver и не можете удалить файлы, то, скорее всего, лучший выбор - это внесение их в белый список. Предполагая, что ваша установка homebrew находится в стандартном расположении, вы можете открыть Ruby-файл doctor.rb подключенный к homebrew, например, в nano через Терминал:

/usr/local/Library/Homebrew/cmd/doctor.rb

Вы можете просмотреть то же содержимое в репозитории GitHub здесь. Вокруг строки 120 находится определение white_list :

white_list = [
    "libfuse.2.dylib", # MacFuse
    "libfuse_ino64.2.dylib", # MacFuse
    "libmacfuse_i32.2.dylib", # OSXFuse MacFuse compatibility layer
    "libmacfuse_i64.2.dylib", # OSXFuse MacFuse compatibility layer
    "libosxfuse_i32.2.dylib", # OSXFuse
    "libosxfuse_i64.2.dylib", # OSXFuse
  ]

Отредактируйте его, чтобы добавить динамические библиотеки, связанные с Citrix Receiver, например так:

white_list = [
    "libfuse.2.dylib", # MacFuse
    "libfuse_ino64.2.dylib", # MacFuse
    "libmacfuse_i32.2.dylib", # OSXFuse MacFuse compatibility layer
    "libmacfuse_i64.2.dylib", # OSXFuse MacFuse compatibility layer
    "libosxfuse_i32.2.dylib", # OSXFuse
    "libosxfuse_i64.2.dylib", # OSXFuse
    "libMonoPosixHelper.dylib", # Citrix Receiver
    "libSFFileMonitor.32.dylib", # Citrix Receiver
    "libSFIPC.32.dylib", # Citrix Receiver
    "libSFIPC.I.dylib", # Citrix Receiver
    "libSFsqlite3.7.4.dylib", # Citrix Receiver
    "libSFSyncEngine.I.dylib", # Citrix Receiver
  ]

И вы должны хорошо относиться к тем пунктам, которые занесены в белый список, поэтому игнорируются, поэтому больше нет предупреждений. Но помните: в следующий раз, когда вы установите homebrew или даже обновите его, эти значения белого списка могут быть перезаписаны.

Удаление файлов динамической библиотеки.

Удаление файлов динамической библиотеки является следующим вариантом. Но если вы не уверены в возможности удаления, тогда вы можете воспользоваться безопасным подходом, просто переместив эти конкретные файлы в безопасное место, например, в каталог critix_dylibs . Сначала создайте актуальный каталог следующим образом:

mkdir ~/critix_dylibs

Затем переместите их в этот каталог следующим образом:

sudo mv /usr/local/lib/libMonoPosixHelper.dylib ~/critix_dylibs/
sudo mv /usr/local/lib/libSFFileMonitor.32.dylib ~/critix_dylibs/
sudo mv /usr/local/lib/libSFIPC.32.dylib ~/critix_dylibs/
sudo mv /usr/local/lib/libSFIPC.I.dylib ~/critix_dylibs/
sudo mv /usr/local/lib/libSFsqlite3.7.4.dylib ~/critix_dylibs/
sudo mv /usr/local/lib/libSFSyncEngine.I.dylib ~/critix_dylibs/

Затем они будут эффективно «нейтрализованы», если их просто так переместить. И запуск homebrew должен показывать чистое выполнение без предупреждений.

Вы даже можете сделать это архивирование еще на шаг вперед, создав такие архивы .tar и .gz . Сначала создайте архив .tar :

tar -cf ~/critix_dylibs.tar ~/critix_dylibs

Далее Gzip это так:

gzip ~/critix_dylibs.tar

И затем бросьте каталог как это:

rm -rf ~/critix_dylibs

Таким образом, у вас есть чистая резервная копия удаленных динамических библиотек в файле critix_dylibs.tar.gz если вам потребуется переустановить их снова.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .