MSYS2 и "Для успешного выполнения этого действия требуется как минимум один действительный и включенный репозиторий".
У меня есть отдельные 32-битные и 64-битные MSYS2, установленные на тестовой машине Windows 8.1. MSYS2 был приобретен на странице загрузки MinGW-64. Каждая установка имеет инструменты разработчика, такие как GCC, Git, GDB, Make и т. Д.
У меня проблемы с обновлением MSYS2. Когда я пытаюсь обновить компоненты, я получаю "Как минимум один действительный и включенный репозиторий, необходимый для успешного выполнения этого действия":
Настройки | Сеть настроена на Нет прокси. Настройки | Репозитории имеют репозитории по умолчанию:
Проблема возникает как с 32-разрядным MSYS2, так и с 64-разрядным MSYS2. Это также происходит при запуске maintenancetool.exe
как администратор и как обычный пользователь.
Насколько я знаю, ничего не изменилось с тех пор, как я установил MSYS или различные пакеты для разработчиков. Репозитории такие же, как были.
Поиск не дает ожидаемых результатов. Я ожидал много хитов с большим количеством предложений, но есть 5 результатов (что кажется очень странным).
Почему я сталкиваюсь с ошибкой и как ее исправить?
2 ответа
maintenancetool.exe
является ли IMO бесспорным доказательством того, что команда разработчиков msys2 (видимо, 4 человека во всем мире) перечислена здесь в репозитории MSYS2 Github:
следовало бы давно выдернуть, и первая часть ответа заключается в том, что в это время просто невозможно НИЧЕГО делать с ним, за исключением полного ручного удаления всего MSYS2.
Я бы ни при каких обстоятельствах не опубликовал бы официальный ответ стека, подобный этому, но, к сожалению, это правда, и в этом случае он сэкономит другим много времени на поиск. Я тоже потратил много времени на все попытки, и да, вы можете вручную попытаться добавить репозитории для QT и т. Д., Но это НЕ является правильным решением для того, для чего оно предназначалось, обычно это mingwin32/64/msys+ для типичной установки Windows.
Вместо этого, как частичный ответ, вторая часть заключается в том, что единственный найденный мной обходной путь - это запуск оболочки, и, поскольку вы будете получать ошибки при использовании и т. Д., Я обычно просто перехожу к запуску:
<DO>
1. pacman -Syu --force
2. <WAIT UNTIL PROMPTED WITH IN USE (IF CORE UPDATING) - CLICK X TO KILL SHELL/RELAUNCH/RERUN SAME ABOVE COMMAND AGAIN>
<LOOP UNTIL IT REPORTS UP TO DATE>
До тех пор, пока разработчики, которые зафиксировали этот код, не оставили его на всеобщее обозрение, так как ПЕРВИЧНАЯ грань набора инструментов, разбитого годами, как это, решает разместить РАБОЧИЙ код в форме, которая обеспечивает функции, как это предусмотрено чертовыми существующими проводными кнопками / выпадающими меню / текстовыми полями GUI. /так далее. (сделайте это рабочим интерфейсом управления пакетами GUI) сделайте себе одолжение и сделайте то, что я сделал, чтобы напомнить себе в следующий раз и сделайте последний шаг здесь, чтобы разместить maintenancetool.exe.IS.BROKEN!!!.txt
файл прямо под ним в каталоге.:)
Слишком длинный пост, чтобы быть комментарием, поэтому я публикую его как ответ. Если вы делаете pacman -Syu
что вы получаете? Есть ли у вас какие-либо репозитории?
Вы должны получить что-то вроде в моем случае:
$ pacman -Syu
:: Synchronizing package databases...
mingw32 485.9 KiB 576K/s 00:01 [#####################] 100%
mingw32.sig 119.0 B 0.00B/s 00:00 [#####################] 100%
mingw64 486.8 KiB 956K/s 00:01 [#####################] 100%
mingw64.sig 119.0 B 0.00B/s 00:00 [#####################] 100%
msys 171.6 KiB 1016K/s 00:00 [#####################] 100%
msys.sig 119.0 B 0.00B/s 00:00 [#####################] 100%
:: Starting core system upgrade...
warning: terminate other MSYS2 programs before proceeding
resolving dependencies...
looking for conflicting packages...
Packages (2) msys2-runtime-2.11.1-2 msys2-runtime-devel-2.11.1-2
Total Download Size: 7.00 MiB
Total Installed Size: 40.27 MiB
Net Upgrade Size: 0.73 MiB
:: Proceed with installation? [Y/n]
Получаете ли вы подобный ответ при использовании оболочки msys2?
Как я уже писал в комментарии, я рекомендовал использовать scoop
установить msys2.