gpt4 book ai didi

node.js - 将 Nodejs 版本固定在 Alpine 上,无需从源代码构建

转载 作者:太空宇宙 更新时间:2023-11-03 23:14:30 24 4
gpt4 key购买 nike

我正在尝试在 Docker 上安装 Kibana 6.7.0。基础继承FROM behance/docker-nginx:8.5-alpineKibana 抛出错误,指出它需要 Node 版本 10.15.2因为 alpine 默认提供 apk 存储库中的 10.16.0

我尝试像这样固定 Node 版本

curl -O https://nodejs.org/download/release/v10.15.2/node-v10.15.2-linux-x64.tar.gz
tar xzf node-v10.15.2-linux-x64.tar.gz

ENV PATH="/node-v10.15.2-linux-x64/bin:${PATH}"

当我执行node -v时我收到一条错误消息,指出 Node /node-v10.15.2-linux-x64/bin/node 未找到,即使它存在。

是否可以在不从源代码构建的情况下安装 Node 10.15.2

最佳答案

不,你没有机会。

事实上虽然最新的alpine使用node10.16,参见this ,但您的 alpine 版本是 v3.9,它使用 node10.14,请参阅 this 。我不知道您是否可以使用 node10.14 让您工作,但您没有机会使用 apk add 来安装 node10.15 版本,因为它们甚至没有存储在 apk 中央存储库中。

并且,从官方网站下载像 https://nodejs.org/download/release/v10.15.2/node-v10.15.2-linux-x64.tar.gz 这样的预构建包绝对不适合您。这是因为 alpine 使用 musl libc,而官方的 Nodejs 二进制文件是使用 glibc 构建的,这是 Linux 世界中更常见的 libc。类似的讨论供您引用是here .

因此,唯一的解决办法就是使用源码构建,可以引用this将你的东西添加到你的 dockerfile 中。另外,multi-stage builds在您的场景中是首选。

关于node.js - 将 Nodejs 版本固定在 Alpine 上,无需从源代码构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57261888/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com