Angenommen, ich habe die folgenden veralteten Pakete:
Ich möchte so viele wie möglich aktualisieren, also versuche ich Folgendes auszuführen:
sudo port -n -f upgrade outdated
Dies schlägt jedoch fehl mit:
Error: org.macports.build for port foo returned: command execution failed
Please see the log file for port foo for details: ...
Wie kann ich macports dazu bringen, zu versuchen, bar und baz zu aktualisieren, wenn foo fehlschlägt?
Ich möchte Macports im Allgemeinen dazu bringen, andere Ports zu installieren/aktualisieren, wenn die Installation/Aktualisierung einiger von ihnen fehlschlägt, und einfach fortfahren.
Aus der Manpage:
-f force mode (ignore state file)
-n don't upgrade dependencies (affects upgrade and install)
Bearbeiten: foo, bar & baz, sind insgesamt 3 unabhängige Ports, die in keiner Weise voneinander abhängen.
Bearbeiten 2: Das nächste Mal, wenn ich dies ausführe, sind die veralteten Ports möglicherweise a, b & c anstelle von foo, bar & baz, daher kann ich die fehlerhaften nicht fest codieren und ich kann nicht einfach Folgendes tun:
sudo port update foo
sudo port update bar
sudo port update baz
Das -p
scheint bei mir zu funktionieren.
Aus der Manpage:
-p Fahren Sie trotz aufgetretener Fehler mit der Verarbeitung mehrerer fort Ports und Befehle.
MacPorts-Entwickler hier; Die richtige Antwort auf Ihre Frage lautet: Sie tun es nicht.
Es gibt einen Grund, warum MacPorts nicht versucht, ein Paket zu installieren, wenn eine Abhängigkeit nicht erstellt werden kann.
Genau diese Frage wurde vor nicht allzu langer Zeit auf der Mailingliste macports-users diskutiert:
Sie können im Upgrade-Befehl auch „outdated and not foo“ angeben, anstatt nur „outdated“.
In Anbetracht eines alten geschlossenen Tickets wurde ein Fehler behoben:
Wenn ich das richtig verstehe: Weiterfahren nach einem Ausfall kann in manchen Fällen defekt sein.
Mit anderen Worten:
Nachtrag: Ich war zu faul, die Manpage vollständig zu lesen (nicht im Hilfemenü von Terminal zu finden, aber das ist keine Entschuldigung). Nach dem Rat von jemandem in irc://irc.freenode.net/#macports
entschied ich mich, diese Antwort zu hinterlassen.
-p
Ich habe die Option nie erkannt . Danke Tyilo.
jvriesem