Was ist der beste Weg, um die neuesten nodejs mit npm unter alpin linux zu installieren?

6126
Andy

Ich versuche, einen eigenen Docker-Container auf der Basis von Alpine Linux zu erstellen, und ich muss mehrere Services in diesen Container einfügen (ja, es ist nicht empfehlenswert, aber im Moment liegen meine Org-Devops etwas hinter der Kurve und verlangen nach einer einzigen Docker-Datei mein benutzerdefiniertes Bild).

Ich habe diesen Artikel überprüft, um herauszufinden, wie Sie die neueste Version von nodejs mit npm auf Alpine Linux installieren können. Es scheint jedoch nichts apk add nodejs@6oder ähnliches in dieser Diskussion zu geben.

Es scheint auch, dass alpine linux hier nicht die neueste Version von nodejs (v 8.X) im Repository hat .

Muss ich nodejs also quasi von der Quelle installieren? Diese Option ist jedoch sehr viel langsamer als die Installation von Alpine Repo.

BEARBEITEN:

Das Hinzufügen von nodejs-current in dockerfile führt zu einem anderen Problem

Schritt ...: RUN apk update && apk addiere nodejs-current

---> Ausführen in e430b4d279e5 Abrufen von http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86_64/APKINDEX.tar.gz Abrufen von http://dl-cdn.alpinelinux.org/alpine/ v3.4 / community / x86_64 / APKINDEX.tar.gz holen http://nl.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz v3.4.6-213-gb6db4bd [ http: // dl -cdn.alpinelinux.org/alpine/v3.4/main] v3.4.6-160-g14ad2a3 [ http://dl-cdn.alpinelinux.org/alpine/v3.4/community] v3.6.0-3765-g46dd4472f4 [ http://nl.alpinelinux.org/alpine/edge/testing] OK: 8679 verschiedene Pakete verfügbar. FEHLER: Nicht erfüllbare Einschränkungen: nodejs-current (fehlt): Erforderlich von: world [nodejs-current]

5
Wissen Sie, dafür gibt es [unix.se]. vor 6 Jahren 0
Nun ... die Frage ist so, dass sie auch hier veröffentlicht werden könnte. Andy vor 6 Jahren 0

1 Antwort auf die Frage

10
Jakub Jirutka

Wir bieten zwei nodejs-Pakete an:

  • nodejs in main - LTS-Version,
  • nodejs-current in community - die aktuelle Version, wie sie vom Upstream aufgerufen wird.

Wenn Sie die neueste Version benötigen, installieren Sie nodejs-current, indem Sie Folgendes ausführen:

apk add nodejs-current 

Derzeit ist es 7.10.1 in v3.6 (stabiler Zweig) oder 8.5.0 in Rand (instabiler / rollender Zweig).

Wir verwenden keine @NSuffixe wie nodejs@6, es ist kein gültiger Paketname.

Ich habe ausdrücklich gesagt, dass Sie nodejs-current von Alpine Branch v3.6 oder edge installieren sollten, aber Sie verwenden v3.4-Repositorys… v3.4 ist ziemlich alt. Und das Mischen von v3.4 mit aktuellen Tests ist übrigens eine äußerst schlechte Idee… Jakub Jirutka vor 6 Jahren 0
Oh ok! In diesem Fall muss ich warten, bis das Standard-PHP-Image, das ich verwende (php: 7.1.9-fpm-alpine), das Alpine Repo auf V3.6 (sie verwenden V3.4) aktualisieren. Andy vor 6 Jahren 0
Nein, in diesem Fall sollten Sie aufhören, ein so schrecklich veraltetes Bild zu verwenden! Verwenden Sie einfach das Basis-Alpin-Image und installieren Sie das Paket php7-fpm. Jakub Jirutka vor 6 Jahren 0
Übrigens Die Antwort ist richtig, es ist nicht meine Schuld, dass Sie es nicht richtig gelesen haben. Jakub Jirutka vor 6 Jahren 2