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.