MSYS2 und "Mindestens ein gültiges und aktiviertes Repository ist erforderlich, damit diese Aktion erfolgreich ist."

1145
jww

Ich habe separate MSYS2 32-Bit und 64-Bit auf einem Windows 8.1-Testcomputer installiert. MSYS2 wurde von der MinGW-64-Downloadseite bezogen . Bei jeder Installation sind Entwicklertools wie GCC, Git, GDB, Make usw. installiert.

Ich habe Probleme beim Update von MSYS2. Wenn ich versuche, Komponenten zu aktualisieren, erhalte ich "Mindestens ein gültiges und aktiviertes Repository ist für den Erfolg dieser Aktion erforderlich" :

enter image description here

Einstellungen | Das Netzwerk ist auf Kein Proxy gesetzt . Einstellungen | Repositorys haben die Standard-Repositorys:

enter image description here

Das Problem tritt bei MSYS2 32-Bit und MSYS2 64-Bit auf. Es tritt auch bei der Ausführung maintenancetool.exeals Administrator und als normaler Benutzer auf.

Meines Wissens hat sich seit der Installation von MSYS oder der verschiedenen Entwicklerpakete nichts geändert. Die Repositories sind die gleichen wie sie waren.

Bei der Suche werden die erwarteten Ergebnisse nicht angezeigt . Ich habe viele Treffer mit vielen Vorschlägen erwartet, aber es gibt 5 Ergebnisse (was sehr seltsam erscheint).

Warum stoße ich auf den Fehler und wie kann ich ihn beheben?

1
Wie aktualisieren Sie MSYS2? Beachten Sie, dass im Artikel [MSYS2-Installation] (https://github.com/msys2/msys2/wiki/MSYS2-installation), Abschnitt Aktualisieren von Paketen, zwei alternative Methoden zur Verfügung stehen, sodass die andere Methode möglicherweise besser funktioniert. harrymc vor 6 Jahren 0
Welche Repositories haben Sie in der msys2 64-Bit-Shell aktiviert? Wenn Sie `Pacman -Syu` verwenden, was gibt es dort zurück? Ich würde empfehlen, `Scoop` für die Installation und Updates von msys2 zu verwenden. tukan vor 6 Jahren 0

2 Antworten auf die Frage

0
tukan

Zu langer Beitrag, um ein Kommentar zu sein, deshalb poste ich ihn als Antwort. Wenn du das machst pacman -Syuwas bekommst du? Bekommen Sie irgendwelche Repositories?

Sie sollten etwas wie in meinem Fall bekommen:

$ 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] 

Erhalten Sie eine ähnliche Antwort, wenn Sie die msys2-Shell verwenden?

Da ich bereits in einem Kommentar schrieb scoop, empfahl ich, msys2 zu installieren.

0
Collin Chaffin

Das maintenancetool.exeist IMO unbestreitbar eine durch und durch gebrochene Monstrosität, die das msys2 DEV-Team (anscheinend 4 Personen in der ganzen Welt) hier auf dem MSYS2 Github Repo aufführt:

4 DEVs mit MSYS2 Repo / Projektrechten

hätte längst gerissen, und einer der Antworten ist, dass es zu diesem Zeitpunkt einfach NICHT möglich ist, ALLES zu tun, außer einer vollständigen manuellen Deinstallation des gesamten MSYS2.

Ich würde unter keinen anderen Umständen eine offizielle Stack-Antwort wie diese posten, aber es ist leider die Wahrheit und in diesem Fall werden andere viel Zeit bei der Suche sparen. Ich habe selbst viel Zeit damit verschwendet, alles auszuprobieren, und ja, Sie können manuell versuchen, Repos für QT usw. hinzuzufügen. Dies ist jedoch KEINE gültige Lösung für das, was beabsichtigt war. Dies ist normalerweise mingwin32 / 64 / msys + unter einer typischen Windows-Installation.

Der zweite Teil ist nur eine teilweise Antwort. Die einzige Problemumgehung, die ich gefunden habe, ist das Starten der Shell, und da Sie in Benutzung Fehler usw. erhalten, springe ich normalerweise zum Laufen:

 <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> 

Bis die DEVs, die diesen Code festgelegt haben, für die Öffentlichkeit freigaben, hat das seit Jahren gebrochene PRIMARY-Toolset beschlossen, den WORKING-Code in dem Formular zu platzieren, das die von den verdammt vorhandenen unbenutzten GUI-Schaltflächen / Dropdowns / Textboxen vorgesehenen Funktionen bereitstellt /usw. (machen Sie es zu einer funktionierenden GUI-Paketverwaltungsschnittstelle) Tun Sie sich selbst einen Gefallen und tun Sie, was ich getan habe, um mich das nächste Mal daran zu erinnern, und machen Sie den letzten Schritt hier, um eine maintenancetool.exe.IS.BROKEN!!!.txtDatei direkt im Verzeichnis unter ihr abzulegen. :)