MacPorts: Kontynuuj instalowanie innych aktualizacji po błędzie


12

Powiedz, że mam następujące nieaktualne pakiety:

  • bla
  • bar
  • baz

Chcę zaktualizować ich jak najwięcej, więc staram się uruchomić:

sudo port -n -f upgrade outdated

Jednak to się nie powiedzie:

Error: org.macports.build for port foo returned: command execution failed
Please see the log file for port foo for details: ...

Jak mogę sprawić, by macport próbował uaktualnić pasek i baz, jeśli foo zawodzi?

Chciałbym, aby generalnie macports próbował instalować / aktualizować inne porty, jeśli instalacja / aktualizacja niektórych z nich nie powiedzie się i po prostu kontynuować.


Ze strony man:

 -f       force mode (ignore state file)

 

 -n       don't upgrade dependencies (affects upgrade and install)

Edycja: foo, bar & baz, są 3 niepowiązanymi ze sobą portami, które nie zależą od siebie w żaden sposób.


Edytuj 2: Następnym razem, gdy to uruchomię, przestarzałe porty mogą być a, b & c, zamiast foo, bar & baz, więc nie mogę hardcode uszkodzonych i nie mogę po prostu zrobić:

sudo port update foo
sudo port update bar
sudo port update baz

Odpowiedzi:


8

-pWydaje się działać dla mnie.

Z podręcznika:

-p Pomimo napotkanych błędów przejdź do przetwarzania wielu
         porty i polecenia.

Ale zobacz ostrzeżenie od dev MacPorts poniżej .... Używanie tej flagi nie jest zalecane!
jvriesem

5

Dev MacPorts tutaj; poprawna odpowiedź na twoje pytanie brzmi: nie.

Jest powód, dla którego MacPorts nie próbuje zainstalować pakietu, gdy nie można zbudować zależności.

To dokładne pytanie zostało niedawno omówione na liście mailingowej macports-users:


1
foo, bar & baz, są 3 niepowiązanymi ze sobą portami, które nie zależą od siebie w żaden sposób.
Tyilo

1
W takim przypadku zawsze możesz je zaktualizować ręcznie, np. Baz aktualizacji sudo portu, pasek aktualizacji portu sudo, uaktualnienie portu sudo foo.
Clemens Lang

patrz „edytuj 2”.
Tyilo

Powinna to być poprawna odpowiedź, jeśli mówi o tym dev MacPorts.
jvriesem

To może być akceptowalna odpowiedź, jeśli MacPorts nie będzie niczym innym jak stabilnym. Niestety, wiele pakietów zależy od wielu opcjonalnych rzeczy, które w większości przypadków nie są naprawdę potrzebne, a co druga aktualizacja portów kończy się niepowodzeniem, ponieważ macports to kilka niestabilnych bzdur.
Bachsau

5

Możesz także określić „przestarzałe, a nie foo” w poleceniu upgrade, a nie tylko „przestarzałe”.


patrz „edytuj 2”.
Tyilo

1

Biorąc pod uwagę stary zamknięty bilet, naprawiono wadę:

333 (błąd zależności jest ignorowany, a port kontynuuje próbę instalacji) - MacPorts

Jeśli dobrze rozumiem: kontynuowanie po awarii może, w niektórych przypadkach, być wadliwe.

Innymi słowy:

  • to jest właściwe (najmniej ryzykowne), aby nie kontynuować.

Postscript: Byłem zbyt leniwy, aby przeczytać w całości stronę podręcznika systemowego (nie znaleziono jej w menu Pomocy Terminalu, ale to nie usprawiedliwienie). Podążając za radą kogoś irc://irc.freenode.net/#macports, postanowiłem zostawić tę odpowiedź.

wprowadź tutaj opis obrazu

Nigdy nie zdawałem sobie sprawy z tej -popcji. Dzięki Tyilo.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.