MacPorts: continua l'installazione di altri aggiornamenti dopo l'errore


12

Supponiamo che io abbia i seguenti pacchetti obsoleti:

  • foo
  • bar
  • baz

Voglio aggiornare il maggior numero possibile, quindi provo a eseguire:

sudo port -n -f upgrade outdated

Tuttavia questo non riesce con:

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

Come posso fare in modo che i macport provino ad aggiornare bar e baz, se foo fallisce?

Vorrei in genere fare in modo che i Macport provino a installare / aggiornare altre porte se l'installazione / l'aggiornamento di alcuni di essi fallisce e continua.


Dalla pagina man:

 -f       force mode (ignore state file)

 

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

Modifica: foo, bar & baz, sono 3 porte totali non correlate, che non dipendono l'una dall'altra in alcun modo.


Modifica 2: La prossima volta che eseguo questo le porte obsolete potrebbero essere a, b & c, invece di foo, bar & baz, quindi non posso hardcodificare quelle difettose e non posso semplicemente fare:

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

Risposte:


8

La -psembra funzionare per me.

Dalla manpage:

-p Nonostante gli errori riscontrati, procedere con l'elaborazione multipla
         porte e comandi.

Ma vedi le precauzioni di un sviluppatore MacPorts qui sotto .... L'uso di questo flag non è raccomandato!
jvriesem,

5

Gli sviluppatori MacPorts qui; la risposta corretta alla tua domanda è: tu no.

C'è un motivo per cui MacPorts non tenta di installare un pacchetto quando non è possibile creare una dipendenza.

Questa domanda esatta è stata discussa sulla mailing list di macports-utenti non molto tempo fa:


1
foo, bar & baz, sono 3 porte totali non correlate, che non dipendono l'una dall'altra in alcun modo.
Tyilo,

1
In tal caso, è sempre possibile aggiornarli manualmente, ad es. Sudo port upgrade baz, sudo port upgrade bar, sudo port upgrade foo.
Clemens Lang,

vedi "modifica 2" in questione.
Tyilo,

Questa dovrebbe essere la risposta corretta, se uno sviluppatore di MacPorts ti parla.
jvriesem,

Questa potrebbe essere una risposta accettabile se MacPorts non sarebbe tutt'altro che stabile. Sfortunatamente, molti pacchetti dipendono da molte cose opzionali che non sono realmente necessarie nella maggior parte dei casi e ogni secondo aggiornamento delle porte fallisce perché macports è un mucchio di schifezze instabili.
Bachsau,

5

Puoi anche specificare "obsoleto e non" nel comando di aggiornamento, piuttosto che "obsoleto".


vedi "modifica 2" in questione.
Tyilo,

1

Considerando un vecchio biglietto chiuso, un difetto che è stato corretto:

333 (l'errore di dipendenza viene ignorato e la porta continua a provare e installare) - MacPorts

Se ho capito bene: continuare a seguire un fallimento può, in alcuni casi, essere difettoso.

In altre parole:

  • è corretto (meno rischioso) non continuare.

Postscript: ero troppo pigro per leggere la pagina man nella sua interezza (non trovata nel menu Help di Terminal, ma non è una scusa). Seguendo il consiglio di qualcuno, irc://irc.freenode.net/#macportsho deciso di lasciare questa risposta.

inserisci qui la descrizione dell'immagine

Non ho mai realizzato l' -popzione. Grazie a Tyilo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.