【问题标题】:Error installing nodejs version 12 on alpine linux在 alpine linux 上安装 nodejs 版本 12 时出错
【发布时间】:2020-09-15 20:58:10
【问题描述】:

我正在使用下面的 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?

【问题讨论】:

  • 为什么不用“node:12-alpine”镜像?
  • Docker 也会运行其他服务,但不应该这样做
  • 不确定我是否理解 - 你想使用 alpine:3.9 因为其他图像也会使用它?为什么?节省存储空间?
  • 问题是关于为 docker 镜像安装节点版本

标签: node.js linux docker dockerfile alpine


【解决方案1】:

您不应安装 nodejs-current,因为此软件包有助于从不存在 nodejs 版本的边缘存储库安装 *nodejs 的当前版本

在您的情况下,nodejs 12.x package 已经存在,因此如果您想安装旧版本而不是 nodejs-current,则应安装 nodejs

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

【讨论】:

    【解决方案2】:

    alpine:3.12 现在使用节点 v12.22.1

    来自高山:3.12

    运行节点--版本

    【讨论】:

      【解决方案3】:

      alpine:3.12 现在使用节点 12.22.10 版本

      可以在这个link查看基于alpine版本的最新node版本

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-01-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-27
        • 2021-05-30
        • 2020-09-16
        • 2016-09-27
        相关资源
        最近更新 更多