使用apt-get安装特定版本的Node.js。

11

我是一个 Linux 的新手,下面是我的目标:

我正在尝试在 Debian Linux 上使用以下命令安装 nodejs 版本:

apt-get install nodejs=8.14.0

但是我得到了以下错误信息:
E: Version '8.14.0' for 'nodejs' was not found

据我所知,这是指定版本的正确方式。如果我这样做,那么就可以正常工作:
apt-get install nodejs

但我需要这个特定版本,而不是最新版本。我正在为Docker镜像做这个操作,因此它必须在运行时安装。


1
有一份指南名为通过软件包管理器安装Node.js,其中链接到一个Github页面,带有使用命令 - Ben Butterworth
3个回答

11

请确保您安装了以下软件包:-

sudo apt-get install \
    apt-transport-https \
    curl \
    software-properties-common

通过以下命令启用NodeSource存储库:

sudo curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

启用存储库后,使用以下命令安装Node.js:

sudo apt-get install nodejs

我需要安装curl,我会试一下。 - nullpointer
1
你可以在 https://github.com/nodesource/distributions#installation-instructions 上获得可用的 Node.js 版本列表(或许你可以将此链接放在你的回答中?) - jawira

1
如果您正在为Docker镜像执行此操作,为什么不直接使用所需版本的Node Docker镜像呢?

因为我需要制作一个具有特定Java和Gradle版本的自定义映像。 - nullpointer
听起来你构建Docker镜像的方式不太对,说实话。你想要实现什么?如果是为了构建某个东西,也许我们可以帮助你评估你的方法,而不是将所有内容安装到单个容器中。 - user344450
我想创建一个镜像,每次构建时都可以重新创建该镜像,并在其中使用特定的Java、Gradle、Node等版本。这个镜像可以每次重新构建,也可以保存在私有仓库中以便重复使用。如果这种做法不正确,请告诉我,因为我是Docker的新手。 - nullpointer
所以,我猜问题是:你想用所有这些做什么呢?构建某种容器化的 CI 系统?构建一个 Node 项目?还是构建和托管一个 Node 项目?如果不知道你想做什么,那就很难给出建议了。但总的来说,像你描述的安装一堆东西听起来像是一种反模式。 - user344450
1
我建议你从这里开始,如果有问题可以在 Stack Overflow 上发帖!https://docs.docker.com/develop/develop-images/multistage-build/ - user344450
显示剩余4条评论

0

由于其为 Docker 容器,我无法下载二进制文件。因此,我想保持简单,可能会使用 curl。 - nullpointer
看看这个答案,它可能会对你有所帮助:https://dev59.com/C2Qn5IYBdhLWcg3wW2H3#16902348 - Charles. Hi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接