Команда `brew cleanup` не удаляет старый каталог mysql - PullRequest
0 голосов
/ 01 октября 2019

Когда я выполняю brew outdated, я получаю следующее среди многих вещей

  • mysql (5.7.21, 5.7.22) < 8.0.17_1 две старые версии

После того, как сделать brew cleanup, ожидая удалить 5.7.21 (потому что старое) появляется среди многих вещей:

  • Warning: Skipping mysql: most recent version 8.0.17_1 not installed

Даже при предыдущем выполнении, 5.7.21 остается. Я ожидал увидеть удаленное первое и сохранить последнее как минимум

Если я выполню brew info mysql, я получу:

mysql: stable 8.0.17
Open source relational database management system
https://dev.mysql.com/doc/refman/8.0/en/
Conflicts with:
  mariadb (because mysql, mariadb, and percona install the same binaries.)
  mariadb-connector-c (because both install plugins)
  mysql-connector-c (because both install MySQL client libraries)
  percona-server (because mysql, mariadb, and percona install the same binaries.)
/usr/local/Cellar/mysql/5.7.21 (323 files, 235.0MB)
  Poured from bottle on 2018-01-30 at 11:34:27
/usr/local/Cellar/mysql/5.7.22 (317 files, 235MB) *
  Poured from bottle on 2018-04-19 at 13:34:21
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/mysql.rb
...

Мой Mac устарел, я не могу обновить Homebrew и, следовательно, невозможно обновить MySQL до 8.0.17_1.

Во всяком случае, как я могу без проблем удалить 5.7.21 и сохранить 5.7.22, что выше?.

Яне уверен, что удалить вручную каталог 5.7.21 в /usr/local/Cellar/mysql безопасно. Я хочу, чтобы все были в согласованном состоянии.

Каков правильный подход для достижения этой цели?

1 Ответ

1 голос
/ 01 октября 2019

Решение: удалить папку установки напрямую. Это абсолютно безопасно.

brew cleanup требует установки последней версии. Об этом сообщается в выпуске 412 . Но никаких улучшений сделано не было.

В чем причина запрета на очистку старых версий формул, если самая последняя не установлена?

Технически, Homebrew этого не делаетрассмотрите формулу, которая будет установлена, если не установлена ​​последняя известная ей версия. И поскольку только старые формулы (в том смысле, в котором я это объяснил здесь) проверяются на наличие более старых версий, которые можно очистить, этого не происходит.

...