Почему доморощенный говорит мне, что мне нужен OS X 10.10 или новее, когда я работаю 10.11.6?

403
user3.1415927

При попытке установить android-platform-toolsс помощью homebrewOS X 10.11.6, я столкнулся со следующей ошибкой (полная вставка ниже):

$ brew cask install android-platform-tools ==> Satisfying dependencies ==> Downloading https://dl.google.com/android/repository/platform-tools_r28.0.1- ######################################################################## 100.0% /usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/utils/quarantine.swift:29:30: error: 'quarantinePropertiesKey' is only available on OS X 10.10 or newer forKey: URLResourceKey.quarantinePropertiesKey ^ /usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/utils/quarantine.swift:29:30: note: add 'if #available' version check forKey: URLResourceKey.quarantinePropertiesKey ^ Error: Failed to quarantine /Users/User/Library/Caches/Homebrew/downloads/e3de3bef9f7f114325f5d2be854f297cc85e6e17a490c9f267b1c838ee225340--platform-tools_r28.0.1-darwin.zip. Here's the reason: /usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/utils/quarantine.swift:29:30: error: 'quarantinePropertiesKey' is only available on OS X 10.10 or newer forKey: URLResourceKey.quarantinePropertiesKey ^ /usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/utils/quarantine.swift:29:30: note: add 'if #available' version check forKey: URLResourceKey.quarantinePropertiesKey ^ 

Это не имеет смысла для меня, так как эта система работает под управлением OS X 10.11.x.

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

Я бегал brew updateсразу перед этим, так что доморощенный должен быть в курсе.

2

1 ответ на вопрос

4
bertieb

Это связано с текущей ошибкой в ​​Homebrew, и исправление было объединено

По вопросу № 4809 :

Привет, PR # 4656, похоже, прервал установку бочки с варкой 10.11. Я получаю сообщение об ошибке 10.11, но не 10.12. В качестве обходного пути повторное выполнение с флагом --no-quarantine прошло успешно. Я не уверен, почему эта функция не доступна, моя ОС обновлена.

(Надрез)

/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/utils/quarantine.swift:29:30: error: 'quarantinePropertiesKey' is only available on OS X 10.10 or newer forKey: URLResourceKey.quarantinePropertiesKey 

(так далее)

(снип и т. д. мой)

Это та же проблема, с которой вы сталкиваетесь.

Существует PR ( # 4796 ), который обращается к этому, который был объединен с master на день назад (2018-09-06):

API-интерфейс Gatekeeper, который я написал, основан на современной установке CLT (или XCode) и флаге -r xattr для встроенной рекурсии. В некоторых случаях Swift слишком стар или установлен в качестве цели развертывания ранее, чем MacOS 10.10, и поэтому не может использовать константу URLResourceKey.quarantinePropertiesKey. А в текущей бета-версии Mojave xattr не имеет расширения Apple -r для обхода собственной файловой системы.

Этот запрос извлечения вставляет дополнительную проверку в скрипт Swift Quarantine.available? Функция и варит бочонок доктора, а изменения распространяются, чтобы использовать xargs для рекурсии.

Последний выпуск brewна момент написания статьи - 1.7.3, выпущенный 3 сентября.

Примечание : я только что запустил a, brew updateи он говорит мне, что я работаю с 1.7.3коммитом 5d894, который был зафиксирован сегодня (2018-09-07) и является последней версией homebrew-core на момент написания.

Semi-обходной путь

Если вы еще не загрузили файл, вы можете попробовать no-quarantine, т.е.

$ brew cask install --no-quarantine android-platform-tools 

однако, поскольку у вас уже есть эти файлы, к сожалению, они уже должны быть помещены в карантин.

Спасибо за вопрос / PR найти. Интересно, что мне удалось обойти использование `--no-quarantine`, хотя я уже попытался выполнить установку безуспешно. (Очень странно.) `Brew -v` показывает, что я нахожусь на той же версии и фиксирую, что и вы - интересно, почему проблема проявилась ... (?) user3.1415927 5 лет назад 0
Хм, немного загадочно! Не уверен, почему это проявится, но, по крайней мере, вы смогли обойти это :) bertieb 5 лет назад 0
Хорошо, я думал, что это будет решено после обновления homebrew, но это не так. Я в настоящее время на 1.7.3, фиксирую ce9cf9, и я получил ту же ошибку при попытке `brew cask install java`. Предполагается, что это извлечение / обновление исправит ошибку, или мне нужно продолжать использовать флаг `--no-quarantine`? user3.1415927 5 лет назад 0