Cómo instalar npm en alpine linux


66

Así que no puedo instalar npm en alpine linux. Pensé que tal vez solo podría hacer un apk add npmpero aparentemente apk search npmno devuelve nada, incluso después de un apk update. Estoy experimentando con todo esto desde la imagen nginx: alpine docker, es decirdocker run -it nginx:alpine /bin/sh

Edición 1: puedo ver cómo se construye el nodejs: alpine dockerfile node, pero no entiendo cómo se construyenpm

Edición 2: ahora que sé que npm se instala con nodejs en alpine, y solo para aclarar, la razón por la que esto no me resultó evidente al principio es que en ubuntu 14.04 a sudo apt-get install nodejstodavía requeriría un sudo apt-get install npm(que instala paquetes de desarrollo, por ejemplo gcc)

Respuestas:


30

Para las versiones recientes de Alpine (v3.8 +), la forma correcta de instalar nodejs con npm es:

apk add --update nodejs npm

Sin embargo, el npmpaquete depende nodejs, por lo que puede hacer:

apk add --update npm

Nota: desde Alpine 3.8 no hay un paquete nodejs-npm.


1
Esta debería ser la respuesta aceptada ahora
Omar S.

173

Tuve un problema con el administrador de apk.

El paquete nodejs ya no está instalando NPM (consulte pkgs.alpinelinux.org ) Debe instalar nodejs-npm

apk add --update nodejs nodejs-npm

No lo entiendo. NPM debería ser la dependencia central del nodo, NPM instalar NPM @ últimas podrían ser impactados por el propio nodo de la versión por lo que no serían compatibles ...
dmi3y

44
Esta debería ser la respuesta aceptada con la última imagen alpina. NPM no se ha instalado para mí con sólo nodejs
kevinc

De acuerdo, esto normalmente es una dependencia, pero si está instalando nodejs manualmente (también lo estaba instalando desde el repositorio 'edge' porque a partir de ahora 6.7 está en desuso), entonces necesita instalar nodejs-npm por separado Esto es lo que ejecuté : apk add nodejs = 6.11.2-r0 nodejs-npm = 6.11.2-r0 --update-cache --repository dl-cdn.alpinelinux.org/alpine/edge/main --allow-untrusted
Anton Babushkin

55
Pregunta secundaria: si bien esta respuesta funciona bien, parece que no puedo encontrarla nodejs-npmen pkgs.alpinelinux.org/packages . Hay un npmpaquete que también hace el trabajo. ¿Es algún tipo de alias?
Tad Lispy

29

Podría estar equivocado, pero creo que en npmrealidad es una dependencia de nodejs.

Nunca he visto ningún sabor de la instalación del administrador de paquetes npmsolo. Siempre parece venir empaquetado con yum install nodejs, o apt-get install nodejs, o apk add --update nodejs.


1
Bienvenido a Super User. No tengo idea de si tienes razón, pero solo algunos comentarios rápidos. Las respuestas están destinadas a ser soluciones definitivas. Con un poco más de representante, puede publicar un comentario con una suposición útil. Para una publicación de respuesta, investigue primero, para estar seguro de la información, luego publique. Y luego puedes citar una referencia, lo que hace una respuesta aún mejor.
Fixer1234

16
esto ya no se acepta, ya que apk no instala npm de forma predeterminada al instalar nodejs
Panthro

votó porque nadie dio una mejor respuesta
Alexander Mills

1
Creo que es 'apk add --update nodejs-npm' para Alpine 3.6+
Ali Cheaito


4

El problema aquí es reciente y se debe a cambios en los repositorios de paquetes de Alpine entre v3.5 y v3.6 o edge.

En v3.5 nodejsincluido npm En v3.6 nodesjsno incluye npm y nodejs-npmexiste el nuevo paquete.

Vea aquí los paquetes alpinos. Para ver qué versión de paquetes está extrayendo, consulte el contenido de/etc/apk/repositories



0

Acabo de tener que hacer esto y puedo confirmar que npm no es una dependencia de node.js (al menos en este momento en alpine) y debe instalarse por separado

es decir apk add --update npm

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.