Come installare npm in alpine linux


55

Quindi non riesco a installare npm in alpine linux. Ho pensato che forse potrei semplicemente fare un apk add npmma apparentemente apk search npmnon restituisce nulla, anche dopo un apk update. Sto sperimentando tutto questo dalla nginx: immagine docker alpina, vale a diredocker run -it nginx:alpine /bin/sh

Modifica 1: vedo come si costruisce il nodejs: alpine dockerfile node, ma non capisco come si costruiscenpm

Modifica 2: ora che so che npm viene installato con nodejs su alpine, e solo per chiarimenti, il motivo per cui questo non mi era evidente all'inizio è che su Ubuntu 14.04 a sudo apt-get install nodejssarebbe comunque necessario un sudo apt-get install npm(che installa pacchetti di sviluppo ad es. gcc)

Risposte:


12

Per le versioni recenti di Alpine (v3.8 +) il modo corretto di installare nodejs con npm è:

apk add --update nodejs npm

Tuttavia, il npmpacchetto dipende da nodejs, quindi puoi fare:

apk add --update npm

Nota: da Alpine 3.8 non esiste un pacchetto nodejs-npm.


1
Questa dovrebbe essere la risposta accettata ora
Omar S.

170

Ho avuto un problema con il gestore dell'apk.

Il pacchetto nodejs non installa più NPM (vedi pkgs.alpinelinux.org ) Devi installare nodejs-npm

apk add --update nodejs nodejs-npm

Non lo capisco. Npm dovrebbe essere la dipendenza principale del nodo, npm install npm @ latest potrebbe essere influenzato dalla versione del nodo stesso in modo che non siano compatibili ...
dmi3y

4
Questa dovrebbe essere la risposta accettata con l'ultima immagine alpina. npm non è stato installato per me con solo nodejs
kevinc

D'accordo, questa è normalmente una dipendenza, ma se stai installando nodejs manualmente (lo stavo installando dal repository 'edge' e perché ormai 6.7 è obsoleto) allora devi installare nodejs-npm separatamente Ecco cosa ho eseguito : 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

5
Domanda nodejs-npma margine : mentre questa risposta funziona bene, non riesco a trovare su pkgs.alpinelinux.org/packages . C'è un npmpacchetto che fa anche il lavoro. È una specie di alias?
Tad Lispy,

29

Potrei sbagliarmi, ma penso che in npmrealtà sia una dipendenza di nodejs.

Non ho mai visto alcun tipo di installazione del gestore pacchetti npmda solo. Sembra sempre impacchettato con yum install nodejs, o apt-get install nodejs, o apk add --update nodejs.


1
Benvenuto in Super User. Non ho idea se hai ragione, ma solo alcuni feedback rapidi. Le risposte intendono essere soluzioni definitive. Con un po 'più di reputazione, puoi pubblicare un commento con un'ipotesi utile. Per un post di risposta, cercalo prima, quindi sei sicuro delle informazioni, quindi pubblica. E puoi quindi citare un riferimento, che rende una risposta ancora migliore.
Fixer 1234

16
questo non è più accettato, poiché apk non installa npm per impostazione predefinita durante l'installazione di nodejs
Panthro,

votato solo perché nessuno ha fornito una risposta migliore
Alexander Mills

1
Credo che sia 'apk aggiungere - aggiornare nodejs-npm' per Alpine
3.6+


4

Il problema qui è recente ed è dovuto alle modifiche nei repository di pacchetti Alpine tra v3.5 e v3.6 o edge.

In v3.5 nodejsincluso npm In v3.6 nodesjsnon include npm ed nodejs-npmesiste il nuovo pacchetto.

Vedi qui per i pacchetti alpini. Per vedere quale versione dei pacchetti stai estraendo dai un'occhiata al contenuto di/etc/apk/repositories



0

Ho appena dovuto farlo e posso confermare che npm non è una dipendenza di node.js (almeno in questo momento su alpine) e deve essere installato separatamente

vale a dire apk add --update npm

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.