homebrew-принудительная установка даже с несоответствием SHA1

Я устанавливаю что-то через homebrew, но одна из его зависимостей не устанавливается, говоря, что загруженный артефакт имеет другую контрольную сумму SHA1, чем то, что ожидает homebrew. Виновник -suite-sparse v4.2.1 и от проверки homebrew issue tracker, кажется, владелец этого пакета имеет тенденцию вносить изменения без натыкаясь версий.

у меня есть билет с экспертами homebrew, чтобы дважды проверить этот пакет и проверить новый SHA1. В между тем..

можно ли заставить homebrew установить пакет, даже если SHA1 неверен?

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

3 ответов


Я не против сделать немного ручной установки

в этом случае клонируйте репозиторий homebrew; обновите suite-sparse sha1 (т. е. чтобы получить его, используйте shasum binary -- у вас уже должно быть это; если вы этого не сделаете, продолжайте и установите его).

как только вы сохранили формулу с обновленным значением sha1, вам даже не нужно возвращать ее на github; вы можете просто установить ее на место.

% brew install suite-sparse.rb

кроме того, вы можете do:

% brew install whatever --ignore-dependencies

у меня была такая проблема при установке gcc48 / gcc49 или любой версии gcc через brew. Проблема была с libmpc08:

Error: SHA1 mismatch
Expected: 5ef03ca7aee134fe7dfecb6c9d048799f0810278
Actual: 5900fdfc7894c52ce7a3ab7ea6ebd29af22f0b70
Archive: /Library/Caches/Homebrew/libmpc08-0.8.1.tar.gz
To retry an incomplete download, remove the file above.

я решил проблему, отредактировав ожидаемую запись sha1 в Формуле brew с помощью команды brew edit [formula]

Я загрузил файл libmpc08 непосредственно с сервера, указанного brew, и использовал mv скопировать его в /Library/Caches/Homebrew/ С именем файла, ожидаемым brew. Та же ошибка произошла с несоответствием SHA1, но загрузка оказалось, что это правильно, поскольку я загрузил его и проверил содержимое.

используя brew edit libmpc08 выводит формулу в собственном текстовом редакторе. Я нашел строчку:--9-->

sha1 '5ef03ca7aee134fe7dfecb6c9d048799f0810278'

и

sha1 '5900fdfc7894c52ce7a3ab7ea6ebd29af22f0b70'

сохранен и запущен brew install gcc49 установка прошла отлично.


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

предполагая, что brew install <formula> не удалось с SHA несоответствие:

  1. brew edit <formula> - должен открыться редактор
  2. закомментировать строку sha... строки начинаются с #
  3. "сохранить файл"
  4. brew install <formula>