Warum meldet Alpine apk "nicht erfüllbare Einschränkungen", wenn Sie eine ältere Version von Node.js installieren?

7182
Matthew Adams

Ich versuche, eine ältere Version von Node.js (4.4.4) auf Alpine zu installieren. Hier sind meine Befehle:

apk update apk add nodejs-lts=4.4.4-r0 

Beim Ausführen erhalte ich eine Fehlermeldung (läuft als root, weil ich das Alpine: 3.4 Docker-Image verwende):

/ # apk update fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/community/x86_64/APKINDEX.tar.gz v3.4.6-64-gd029d25 [http://dl-cdn.alpinelinux.org/alpine/v3.4/main] v3.4.6-33-g38ef2d2 [http://dl-cdn.alpinelinux.org/alpine/v3.4/community] OK: 5977 distinct packages available / # apk add nodejs-lts=4.4.4-r0 ERROR: unsatisfiable constraints: nodejs-lts-4.6.0-r0: breaks: world[nodejs-lts=4.4.4-r0] 

Wie installiere ich eine bestimmte ältere Version eines Pakets apk?

0

2 Antworten auf die Frage

4
robwdux

Das ist richtig. Leider ist 4.4.4 nicht verfügbar.

Sie sollten es vermeiden, explizit für Paketversionen zu sein, es sei denn, Sie steuern Ihre eigenen Paketspiegel- und Paket-Builds. Lassen Sie das Paketsystem es lieber für die verwendete Alpine-Version verwalten.

Für Alpine 3.4 ist nur 4.6.0 verfügbar. Suchen Sie nach Alpine 3.4 x86_64-Paketen online nach nodejs-lts

Wenn Sie dazu neigen, können Sie hier das Paket ändern, um eine bestimmte Version der Wahl zu erstellen.

Überprüfen Sie die Paketquelle

Alpine hat eine Wiki-Seite: Erstellen eines Alpine-Pakets .

Beachten Sie, dass der Paketname "nodejs-lts" veraltet ist.

bietet = "nodejs-lts = $ pkgver" # für Rückwärtskompatibilität

replace = "nodejs-current nodejs-lts" # nodejs-lts für Rückwärtskompatibilität

Ich habs. Danke für die Erklärung. Dies wäre ein guter Kandidat für eine FAQ. Matthew Adams vor 7 Jahren 0
Es ist also nicht möglich die Version zu fixieren? So erstellen Sie ein Container-Image als unveränderlich / WHITECOLOR vor 7 Jahren 0
0
vim

Sie können eine bestimmte Version aus der vorherigen alia-lib-devAlpenfreigabe mit folgendem verwenden, deren Beispiel im alpinen Rand auf 1.1.7-r0 eingestellt ist, hier aber 1.1.6-r0 von alpinen 3.8 sein muss:

apk add --no-cache --update-cache --repository http://nl.alpinelinux.org/alpine/v3.8/main alsa-lib-dev=1.1.6-r0