Hace dos años, usé Macports para instalar una copia de Docker Machine en una computadora con OS X 10.9 "Mavericks". Todo lo que tenía que hacer era escribir sudo port install Docker-machine
y Macports desplegó y compiló automáticamente todo lo que necesitaba.
A partir de agosto de 2020, esto no funciona en Mavericks debido a un error en las últimas versiones de Go y/o el marco de soporte heredado de Macports . Dado que Mavericks es muy antiguo, esta rotura es comprensible † . Sin embargo, Docker Machine funcionó hace dos años y no me importaría usar una versión anterior.
Usando un prefijo Macports limpio , ¿cómo puedo instalar puertos usando solo software que existía en una fecha determinada en el pasado? No quiero simplemente instalar una versión anterior de Docker Machine ‡ ; Quiero instalar una versión anterior de Docker Machine y todos los puertos de los que depende Docker Machine, como Go
y Legacy Support
.
En Debian, esto sería muy fácil; Simplemente editaría sources.list para apuntar a una instantánea . ¿Cómo puedo hacer algo similar en Macports? El historial completo del proyecto Macports se rastrea en Git , por lo que estoy bastante seguro de que es posible.
† Estoy encantado de que Macports sea compatible con Mavericks. Con Homebrew estaría completamente SOL.
‡ Porque lo intenté y no funciona. Lo cual no es particularmente sorprendente dada la interconexión de los puertos y sus dependencias. Como referencia, el procedimiento para instalar una versión anterior de un solo paquete se documenta aquí .
Gracias a Lothar Haeger en la lista de correo de Macports por darme la pista clave que necesitaba. Lo que tuve que hacer fue:
Obtenga una copia local del Macports Port Tree de Github .cd ~; git clone https://github.com/macports/macports-ports
Restablecer mi árbol de puertos local a un punto anterior en el tiempo . cd macports-ports; git reset --hard
commit-hash-de-2018
Genere un índice de puerto para mi árbol de puertos local :portindex
Dígale a Macports que use mi árbol de puertos local en lugar del oficial en línea. Para hacer esto, abrí source.conf de macports (generalmente en /opt/local/etc/macports/
) en un editor de texto, comenté la URL predeterminada en la parte inferior del archivo y agregué después: file:///Users/
my-user-name/macports-ports [default]
1110101001