Como instalar o npm no linux alpino


66

Portanto, não consigo instalar o npm no linux alpino. Pensei que talvez pudesse fazer um, apk add npmmas aparentemente apk search npmnão retorna nada, mesmo depois de um apk update. Estou experimentando tudo isso a partir da imagem nginx: docker alpine, ou sejadocker run -it nginx:alpine /bin/sh

Edit 1: Posso ver como o nodejs: alpine dockerfile é construído node, mas não entendo como ele é construídonpm

Edit 2: agora que eu sei que o npm é instalado com o nodejs no alpine, e apenas para esclarecimentos, a razão pela qual isso não ficou evidente a princípio é que no ubuntu 14.04 sudo apt-get install nodejsainda seria necessário um sudo apt-get install npm(que instala pacotes de desenvolvimento, por exemplo gcc)

Respostas:


29

Para as versões recentes do Alpine (v3.8 +), a maneira correta de instalar o nodejs com o npm é:

apk add --update nodejs npm

No entanto, o npmpacote depende nodejs, então você pode fazer:

apk add --update npm

Nota: desde o Alpine 3.8, não há pacote nodejs-npm.


11
Esta deve ser a resposta aceita agora
Omar S.

173

Eu tive um problema com o gerenciador de apk.

O pacote nodejs não está mais instalando o NPM (consulte pkgs.alpinelinux.org ) É necessário instalar o nodejs-npm

apk add --update nodejs nodejs-npm

Eu não entendo isso. NPM deve ser a dependência núcleo do nó, npm instalar npm @ mais recente pode ser afetado pela própria versão de nó de modo que não seria compatível ...
dmi3y

4
Essa deve ser a resposta aceita com a imagem alpina mais recente. npm não foi instalado para mim com apenas nodejs
kevinc

Concordo, isso normalmente é uma dependência, mas se você estiver instalando o nodejs manualmente (eu estava instalando-o também do repositório 'edge' porque, a partir de agora, o 6.7 está obsoleto), será necessário instalar o nodejs-npm separadamente. : apk add nodejs = 6.11.2-r0 nodejs-npm = 6.11.2-r0 --update-cache - repositório dl-cdn.alpinelinux.org/alpine/edge/main --owow-não confiável
Anton Babushkin

5
Pergunta secundária : embora esta resposta funcione perfeitamente, não consigo encontrar nodejs-npmem pkgs.alpinelinux.org/packages . Há um npmpacote que também faz o trabalho. É algum tipo de apelido?
Tad lispy

29

Eu posso estar errado, mas acho que npmé realmente uma dependência de nodejs.

Eu nunca vi nenhum sabor do gerenciador de pacotes instalado npmsozinho. Sempre parece vir embalado com yum install nodejs, ou apt-get install nodejs, ou apk add --update nodejs.


11
Bem-vindo ao superusuário. Não faço ideia se você está certo, mas apenas um feedback rápido. As respostas pretendem ser soluções definitivas. Com um pouco mais de rep, você pode postar um comentário com um palpite útil. Para uma resposta, pesquise primeiro, para ter certeza das informações e, em seguida, poste. E você pode citar uma referência, o que dá uma resposta ainda melhor.
fixer1234

16
isso não é mais aceita, como apk não instala npm por padrão ao instalar nodejs
Panthro

upvoted só porque ninguém forneceu uma resposta melhor
Alexander Mills

11
Eu acredito que é 'apk add --update nodejs-npm' para Alpine 3.6+
Ali Cheaito


4

O problema aqui é recente e é devido a alterações nos repositórios de pacotes da Alpine entre v3.5 e v3.6 ou edge.

Na v3.5 nodejsincluída npm Na v3.6 nodesjsnão inclui npm e o novo nodejs-npmpacote existe.

Veja aqui os pacotes Alpine. Para ver qual versão dos pacotes você está obtendo, consulte o conteúdo de/etc/apk/repositories



0

Acabei de fazer isso e posso confirmar que o npm não é uma dependência do node.js (pelo menos agora no alpine) e deve ser instalado separadamente

ie apk add --update npm

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.