Error al instalar nodejs versión 12 en alpine linux
Sep 16 2020
Estoy usando el siguiente Dockerfile para instalar alpine linux de la siguiente manera y mencioné la siguiente respuesta de desbordamiento de pila: - ¿Cómo instalar Nodejs v13.0.1 en alpine: 3.8?
FROM alpine:3.9
ENV ALPINE_MIRROR "http://dl-cdn.alpinelinux.org/alpine"
RUN echo "${ALPINE_MIRROR}/v3.10/community/" >> /etc/apk/repositories
RUN apk update && apk add glibc nodejs-current --repository="http://dl-cdn.alpinelinux.org/alpine/v3.10/community/"
RUN node --version
La versión del nodo da como resultado un error
Error relocating /usr/bin/node: uv_gettimeofday: symbol not found
Error relocating /usr/bin/node: uv_udp_connect: symbol not found
Error relocating /usr/bin/node: uv_thread_create_ex: symbol not found
Error relocating /usr/bin/node: uv_udp_getpeername: symbol not found
The command '/bin/sh -c node --version' returned a non-zero code: 127
¿Cómo solucionar esto e instalar el nodo 12.4.0-r0?
Respuestas
4 Adiii Sep 16 2020 at 19:56
No debe instalar nodejs-current, ya que este paquete es útil para instalar * la versión actual de nodejs desde el repositorio de borde donde la nodejsversión no existe.
En su caso, el paquete nodejs 12.x ya existe, por lo que debe instalarlo nodejssi desea instalar una versión anterior en lugar de nodejs-current.
FROM alpine:3.9
ENV ALPINE_MIRROR "http://dl-cdn.alpinelinux.org/alpine"
RUN echo "${ALPINE_MIRROR}/v3.11/main/" >> /etc/apk/repositories
RUN apk add nodejs --repository="http://dl-cdn.alpinelinux.org/alpine/v3.11/main/"
RUN node --version
salida
Removing intermediate container a201832610e0
---> b0919df78aef
Step 5/5 : RUN node --version
---> Running in cd7950f9303b
v12.15.0
Removing intermediate container cd7950f9303b
---> ce54af976f81
Successfully built ce54af976f81