web-dev-qa-db-fra.com

Quel est le meilleur moyen d'installer les derniers nœuds avec npm sur Alpine linux?

J'essaie de créer mon propre conteneur docker basé sur Alpine Linux et je dois ajouter plusieurs services dans ce conteneur (oui, ce n'est pas recommandé, mais pour le moment, mon organisation devops est un peu en retard et exige un seul fichier docker pour mon image personnalisée).

Je vérifiais cet article pour trouver le moyen d'installer la dernière version de nodejs avec npm sur Alpine Linux. Cependant, il semble qu'il n'y ait pas de apk add nodejs@6 ou quelque chose du genre dans cette discussion.

De plus, il semble qu'Alpine Linux ne possède pas la dernière version de nodejs (v 8.X) dans le référentiel ici .

Donc dois-je à peu près installer nodejs depuis les sources? Mais cette option est très lente comparée à une simple installation à partir de Alpine repo.

EDIT:

l'ajout de nodejs-current dans dockerfile pose un autre problème

Étape ...: RUN apk update && apk add nodejs-current

---> En cours d'exécution dans e430b4d279e5 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 fetch 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 paquets distincts disponibles ERREUR: contraintes non satisfaisantes: nodejs-current (manquant): requis par: world [nodejs- actuel]

6
Andy

Nous fournissons deux packages nodejs:

  • nodejs dans la version principale - LTS,
  • nodejs-current dans community - la version actuelle, telle qu'elle est appelée par l'amont.

Donc, si vous voulez la dernière version, installez nodejs-current en lançant:

apk add nodejs-current

Actuellement, il s’agit de 7.10.1 dans v3.6 (branche stable) ou 8.5.0 dans Edge (branche instable/en roulement).

Nous n’utilisons pas les suffixes @N comme nodejs@6, ce n’est pas un nom de paquet valide.

12
Jakub Jirutka