MSYS2 и «Для успешного выполнения этого действия требуется как минимум один действительный и включенный репозиторий».

692
jww

У меня есть отдельные 32-битные и 64-битные MSYS2, установленные на тестовой машине Windows 8.1. MSYS2 был приобретен на странице загрузки MinGW-64 . Каждая установка имеет инструменты разработчика, такие как GCC, Git, GDB, Make и т. Д.

У меня проблемы с обновлением MSYS2. Когда я пытаюсь обновить компоненты, я получаю «Как минимум один действительный и включенный репозиторий, необходимый для успешного выполнения этого действия» :

MSYS2 и «Для успешного выполнения этого действия требуется как минимум один действительный и включенный репозиторий».

Настройки | Сеть настроена на Нет прокси . Настройки | Репозитории имеют репозитории по умолчанию:

MSYS2 и «Для успешного выполнения этого действия требуется как минимум один действительный и включенный репозиторий».

Проблема возникает как с MSYS2 32-разрядной, так и с MSYS2 64-разрядной. Это также происходит при работе maintenancetool.exeот имени администратора и обычного пользователя.

Насколько я знаю, ничего не изменилось с тех пор, как я установил MSYS или различные пакеты для разработчиков. Репозитории такие же, как были.

Поиск не дает ожидаемых результатов . Я ожидал много хитов с большим количеством предложений, но есть 5 результатов (что кажется очень странным).

Почему я сталкиваюсь с ошибкой и как ее исправить?

1
Как вы обновляете MSYS2? Обратите внимание, что в статье [Установка MSYS2] (https://github.com/msys2/msys2/wiki/MSYS2-installation), раздел Обновление пакетов, есть два альтернативных метода, поэтому, возможно, другой будет работать лучше. harrymc 6 лет назад 0
Какие репозитории вы включили в msys2 64-битной оболочке, которую вы используете - если вы делаете `pacman -Syu`, что он там возвращает? Я бы рекомендовал использовать `scoop` для установки и обновления msys2. tukan 6 лет назад 0

2 ответа на вопрос

0
tukan

Слишком длинный пост, чтобы быть комментарием, поэтому я публикую его как ответ. Если вы делаете то, 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.

0
Collin Chaffin

maintenancetool.exeИМО бесспорно утончается сломанное уродство, что msys2 DEV команда (видимо, 4 -х люди во всем мире), перечисленных здесь, на репо MSYS2 Github:

4 DEVs with MSYS2 repo/project rights

следовало бы давно выдернуть, и первая часть ответа заключается в том, что в настоящее время просто невозможно НИЧЕГО делать с ним, за исключением полного удаления вручную всего 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файл прямо под ним в каталог. :)

Похожие вопросы