Angenommen, ich habe die folgenden veralteten Pakete:
- foo
- Bar
- baz
Ich möchte so viele wie möglich aktualisieren, daher 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, Bar und Baz zu aktualisieren, wenn foo fehlschlägt?
Ich möchte Macports generell dazu bringen, andere Ports zu installieren / zu aktualisieren, wenn die Installation / Aktualisierung einiger von ihnen fehlschlägt, und einfach fortfahren.
Von 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: Wenn ich dies das nächste Mal ausführe, sind die veralteten Ports möglicherweise a, b & c anstelle von foo, bar & baz, sodass ich die fehlerhaften nicht fest codieren kann und nicht einfach Folgendes tun kann:
sudo port update foo
sudo port update bar
sudo port update baz
MacPorts Entwickler hier; Die richtige Antwort auf Ihre Frage lautet: Sie nicht.
Es gibt einen Grund, warum MacPorts nicht versucht, ein Paket zu installieren, wenn eine Abhängigkeit nicht erstellt werden kann.
Diese genaue Frage wurde vor nicht allzu langer Zeit auf der Mailingliste der Macports-Benutzer diskutiert:
http://lists.macosforge.org/pipermail/macports-users/2012-July/029904.html
http://lists.macosforge.org/pipermail/macports-users/2012-July/029984.html
quelle
Sie können im Upgrade-Befehl auch "veraltet und nicht foo" angeben, anstatt nur "veraltet".
quelle
In Anbetracht eines alten geschlossenen Tickets wurde ein Fehler behoben:
333 (Abhängigkeitsfehler werden ignoriert und der Port versucht weiterhin zu installieren) - MacPorts
Wenn ich richtig verstehe: Nach einem Fehler fortzufahren, kann in einigen Fällen fehlerhaft sein.
Mit anderen Worten:
Nachtrag: Ich war zu faul, um die Manpage vollständig zu lesen (nicht im Hilfemenü des Terminals gefunden, aber das ist keine Entschuldigung). Auf Anraten von jemandem in
irc://irc.freenode.net/#macports
entschied ich mich, diese Antwort zu hinterlassen.Ich habe die
-p
Option nie realisiert . Danke an Tyilo.quelle