在 alpine linux 上安装 nodejs 版本 12 时出错
Error installing nodejs version 12 on alpine linux
我正在使用以下 Dockerfile 安装 alpine linux,如下所示
并参考了以下堆栈溢出答案:- How to install Nodejs v13.0.1 in 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
节点版本导致错误
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
如何解决这个问题并安装节点 12.4.0-r0?
你不应该安装 nodejs-current
,因为这个包有助于从边缘存储库安装 *当前版本的 nodejs其中 nodejs
版本不存在。
在你的情况下,nodejs 12.x package 已经存在,所以你应该安装 nodejs
如果你想安装旧版本而不是 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
产出
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
alpine:3.12 现在使用节点 v12.22.1
来自 alpine:3.12
运行节点--版本
alpine:3.12 现在使用节点 12.22.10 版本
你可以在这个link
中根据alpine版本查看最新的node版本
我正在使用以下 Dockerfile 安装 alpine linux,如下所示 并参考了以下堆栈溢出答案:- How to install Nodejs v13.0.1 in 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
节点版本导致错误
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
如何解决这个问题并安装节点 12.4.0-r0?
你不应该安装 nodejs-current
,因为这个包有助于从边缘存储库安装 *当前版本的 nodejs其中 nodejs
版本不存在。
在你的情况下,nodejs 12.x package 已经存在,所以你应该安装 nodejs
如果你想安装旧版本而不是 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
产出
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
alpine:3.12 现在使用节点 v12.22.1
来自 alpine:3.12
运行节点--版本
alpine:3.12 现在使用节点 12.22.10 版本
你可以在这个link
中根据alpine版本查看最新的node版本