Por que o homebrew está me dizendo que eu preciso ter o OS X 10.10 ou mais recente, quando estou executando o 10.11.6?

2

Ao tentar instalar android-platform-tools usando homebrew no OS X 10.11.6, encontrei o seguinte erro (colagem completa abaixo):

$ 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
                             ^

Isso não faz sentido para mim, já que este sistema está executando o OS X 10.11.x.

Eu preciso desinstalar completamente e reinstalar o homebrew? Eu prefiro não, se possível, desde que eu tenho algumas coisas instaladas via homebrew atualmente.

Eu corri brew update imediatamente antes disso, então o homebrew deve estar atualizado.

    
por user3.1415927 07.09.2018 / 15:35

1 resposta

4

Isso se deve a um bug atual no Homebrew, e uma correção foi mesclada

Por edição # 4809 :

Hi, PR #4656 appears to break brew cask install on 10.11. I get an error on 10.11, but not on 10.12. As a workaround, re-running with the --no-quarantine flag is successful. I'm not sure why this swift feature isn't available, my OS is up to date.

(snip)

/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

(etc)

(snip e etc meu)

Este é o mesmo problema que você está enfrentando.

Existe um PR ( # 4796 ) que trata disso, que foi mesclado em mestre a partir de um dia atrás (2018-09-06):

The Gatekeeper API I've written relies on an up-to-date CLT (or Xcode) install, and xattr's -r flag for native recursion. There are cases where Swift is too old or is set to a deployment target earlier than MacOS 10.10, and thus cannot use the URLResourceKey.quarantinePropertiesKey constant. And in the current Mojave beta, xattr does not have Apple's -r extension for doing native filesystem traversal.

This pull request inserts an additional check in the Swift script, the Quarantine.available? function and brew cask doctor, and changes propagate to use xargs for recursion.

A última versão de brew no momento da escrita é 1.7.3 , lançada em setembro 3ª

Nota : acabei de executar um brew update e ele me diz que estou executando 1.7.3 em execução no commit 5d894 , que foi confirmado hoje (2018-09-07) e é o versão mais recente do homebrew-core no momento da escrita.

Semi-workaround

Se você ainda não baixou um arquivo, pode tentar com no-quarantine , ou seja

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

no entanto, como você já tem esses arquivos, eles já devem estar em quarentena, infelizmente.

    
por 07.09.2018 / 15:51