You are here: Home » Справка и подсказки » Ошибка «ruby-bundler: /usr/share/man/man5/gemfile.5.gz exists in filesystem (owned by ruby)» (РЕШЕНО)

Ошибка «ruby-bundler: /usr/share/man/man5/gemfile.5.gz exists in filesystem (owned by ruby)» (РЕШЕНО)

При каждом обновлении пакетов операционной системы (а также при установке новых пакетов), кроме проверок зависимостей, менеджеры пакетов также проверяют, чтобы не было конфликта файлов. То есть пакет, содержащий файлы, которые уже имеются на диске и не принадлежат этому пакету, не будет обновлён или установлен.

При обычном обновлении системы (Arch Linux, например) командой

sudo pacman -Syu

вы можете столкнуться с ошибкой:

(40/40) проверка конфликтов файлов                 [######################] 100%
ошибка: не удалось завершить транзакцию (конфликтующие файлы)
ruby-bundler: /usr/share/man/man5/gemfile.5.gz exists in filesystem (owned by ruby)
Обнаружены ошибки, пакеты не обновлены.

Если у вас английская локаль, то ошибка будет следующей:

(8/8) checking for file conflicts                  [######################] 100%
(8/8) checking for file conflicts
error: failed to commit transaction (conflicting files)
ruby-bundler: /usr/share/man/man5/gemfile.5.gz exists in filesystem (owned by ruby)
Errors occurred, no packages were upgraded.

Эта проблема относится к пакету ruby-bundler-2.2.16-1. Суть ошибки в том, что файл gemfile.5.gz уже имеется в файловой системе, он принадлежит пакету ruby, а в новой версии пакета ruby-bundler также присутствует этот файл. В результате обновление не может завершиться из-за конфликтов файлов.

Видимо, эта проблема будет решена в пакете ruby-3.0.1-1, который сейчас находится на стадии тестирования (репозиторий [testing]).

Вам необязательно ждать обновления с ruby 2 до ruby 3, тем более, что этот процесс может затянуться, вы можете использовать один из следующих способов обхода проблемы.

Обратим внимание, что файл /usr/share/man/man5/gemfile.5.gz — это просто файл справки, документации, то есть этот файл не является критически важным для системы.

Вы можете перезаписать этот файл прямо во время обновления, для этого выполните команду:

sudo pacman -Syu --overwrite /usr/share/man/man5/gemfile.5.gz

Связанная статья: Аналог опции --force в pacman

Ещё один вариант — просто удалить этот файл перед обновлением:

sudo rm /usr/share/man/man5/gemfile.5.gz
sudo pacman -Syu

Эти способы равнозначны, выберите любой из них чтобы обновить пакеты в операционной системе.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

wp-puzzle.com logo