准备安装特定版本的node的Docker环境的方法

在nodesource/distributions: NodeSource Node.js二进制发行版中列出了各个版本的node的安装方法。

# Using Ubuntu
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -fsSL https://deb.nodesource.com/setup_16.x | bash -
apt-get install -y nodejs

只要是在工作关系中需要使用稍微有点旧的较小版本时,这种方法就无法使用了。原因是必须安装最新的较小版本。

直接获取二进制文件

在上述情况下,请直接从https://nodejs.org/dist 获取所需版本的二进制文件。

例如,如果您需要的是v16.0.0版本,则可以从https://nodejs.org/dist/v16.0.0 下载。您应该能够找到适用于每个CPU和操作系统的tar.gz文件。

解压.tar文件时,其中包含有bin等文件,您可以将其移动到适当的位置。您也可以创建符号链接。

Dockerfile 文件

以下是创建一个可以使用v16.0.0的Docker环境的一个示例。

FROM ubuntu:18.04

RUN apt update && apt install -y wget
RUN wget https://nodejs.org/dist/v16.0.0/node-v16.0.0-linux-x64.tar.gz \
  && tar xvf node-v16.0.0-linux-x64.tar.gz \
  && mv ./node-v16.0.0-linux-x64/bin/node /usr/bin/node \
  && mv ./node-v16.0.0-linux-x64/bin/npm /usr/bin/npm \
  && mv ./node-v16.0.0-linux-x64/bin/npx /usr/bin/npx \
  && mv ./node-v16.0.0-linux-x64/lib/node_modules /usr/lib/node_modules \
  && mv ./node-v16.0.0-linux-x64/share/doc /usr/share/doc \
  && mv ./node-v16.0.0-linux-x64/share/man /usr/share/man \
  && mv ./node-v16.0.0-linux-x64/share/systemtap /usr/share/systemtap

ENTRYPOINT ["/bin/bash"]

其他的方法 no

有很多方法可以在Qiita上找到介绍的方式安装Node.js(从源代码安装),但执行make命令会花费很长时间。

如果按照这篇文章的方法,只需解冻即可,所需时间相当短。

个人体验

在寻找到这种安装方法时即使在谷歌上也无法找到正确的信息,因此我决定将其记录在文章中。

我感觉背后的原因可能是Node希望使用”最新的次要版本”作为前提。

只要没有特殊原因,我们应该以保养的方式确保能使用最新的次要版本。

bannerAds