2 votos

MacPorts: Instalar las no dependencias más allá del error

Introducción

A veces, MacPorts falla al construir algo debido a un error. Anteriormente, @tyilo preguntó en AskDifferent cómo ignorar este error y continuar instalando los otros ports ( enlace ). Aunque algunas respuestas sugerían utilizar el -p flag, MacPorts dev (@ClemensLang) dijo que esto no debería hacerse porque puede estropear las cosas después.

Es justo: tiene sentido no ignorar los errores cuando se construye un paquete que depende de una actualización fallida.

Sin embargo, hay varios paquetes que imagino que podría actualizar con seguridad porque no dependen del paquete que falló al construirse. Espero que haya una manera de actualizar todo lo posible, pero cuando se encuentra un error, para saltar ese paquete y todo lo que depende de él.

Por ejemplo

Supongamos que tengo los siguientes paquetes para actualizar con las siguientes dependencias:

  • apple depende de flower
  • tree depende de seed

Supongamos que flower no se actualiza. Por lo tanto, no debería utilizar -p porque seguiría intentando actualizar apple y los demás, y construyendo apple basado en una chapuza flower podría causar problemas.

Espero que haya una manera tal que si flower falla, MacPorts puede ignorar apple y flower pero sigue construyendo seed y tree .

¿Existe una forma "óptima" de abordar esta situación? Si no es así, ¿por qué no?

2voto

Michael Zhou Puntos 167

Supongo que podrías hacer esto

sudo port -v upgrade outdated and not rdependentof:flower and not flower

Que dice en español, actualizar los paquetes obsoletos pero no los que dependen de flower y no de flower

Por supuesto, usted haría esto después de hacer una copia del registro de la instalación fallida y luego limpiar la ubicación tmp y trató de actualizar de nuevo, y si eso falló entonces presentar un ticket.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X