Qual é a melhor maneira de instalar o nodejs mais recente com o npm no linux alpino

5

Estou tentando construir meu próprio contêiner docker com base no linux alpino e preciso adicionar vários serviços nesse contêiner (sim, ele não é recomendado como prática recomendada, mas no momento em que meu org devops está um pouco atrás da curva e exigindo um único dockerfile para minha imagem personalizada).

Eu estava verificando este artigo para encontrar o caminho para instalar a versão mais recente do nodejs com o npm no linux alpino. No entanto, parece não haver apk add nodejs@6 ou algo parecido fornecido nesta discussão.

Também parece que o linux alpino não tem a versão mais recente do nodejs (v 8.X) no repositório aqui .

Então, eu praticamente tenho que instalar o nodejs a partir do código-fonte? Mas essa opção é muito mais lenta em comparação com a instalação de um repositório alpino.

EDITAR:

adicionando nodejs-current no dockerfile está causando outro problema

Step ... : RUN apk update && apk add nodejs-current

---> Running in 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 distinct packages available ERROR: unsatisfiable constraints: nodejs-current (missing): required by: world[nodejs-current]

    
por Andy 22.09.2017 / 02:04

1 resposta

10

Fornecemos dois pacotes de nodejs:

  • nodejs no main - versão LTS,
  • nodejs-current na comunidade - a versão atual, como é chamada pelo upstream.

Portanto, se você quiser a versão mais recente, instale o nodejs-current executando:

apk add nodejs-current

Atualmente, é 7.10.1 na v3.6 (ramificação estável) ou 8.5.0 na extremidade (ramificação instável / rolante).

Não usamos sufixos @N como nodejs@6 , não é um nome de pacote válido.

    
por 23.09.2017 / 12:45