准备安装特定版本的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希望使用”最新的次要版本”作为前提。
只要没有特殊原因,我们应该以保养的方式确保能使用最新的次要版本。