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 несоответствие:
-
brew edit <formula>
- должен открыться редактор - закомментировать строку
sha...
строки начинаются с#
- "сохранить файл"
brew install <formula>