【问题标题】:Install a specific nodejs version with apt-get使用 apt-get 安装特定的 nodejs 版本
【发布时间】:2020-02-05 19:42:05
【问题描述】:

我是 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 映像执行此操作,因此必须在运行时安装它。

【问题讨论】:

    标签: node.js linux docker apt-get


    【解决方案1】:

    确保您有以下软件包:-

    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
    

    【讨论】:

    【解决方案2】:

    如果您要为 Docker 映像执行此操作,为什么不直接使用具有所需版本的 Node Docker 映像呢?

    【讨论】:

    • 因为我需要使用特定的 java 和 gradle 版本制作自定义图像。
    • 老实说,听起来您正在以错误的方式构建 Docker 映像。你想要完成什么?因为如果要构建一些东西,也许我们可以帮助您评估您的方法,而不是将所有这些都安装到一个容器中。
    • 我想创建一个图像,我可以在每次使用该图像中特定 Java、Gradle、Node 等版本的构建时重新创建该图像。要么每次都重新构建这个图像,要么我可以将它保存在私人仓库中并重新使用它。如果这看起来不对,请告诉我,我是 Docker 新手。
    • 所以我想问题是 什么 你想对所有这些做些什么呢?构建某种容器化 CI 系统?建立一个节点项目?构建和托管 Node 项目?在不知道您要做什么的情况下,很难提出建议,但总的来说,安装一堆像您所描述的东西听起来像是一种反模式。
    • 我会从这里开始,如果您有任何问题,请向 SO 发布更多内容! docs.docker.com/develop/develop-images/multistage-build
    【解决方案3】:

    你可以尝试使用像 nvm 这样的包管理器来安装你的节点:

    Installing Node.js to linux

    或者直接从这里下载二进制文件: Node.js v8.14.0

    【讨论】:

    • 我无法下载二进制文件,因为它是一个 docker 容器。我想保持简单,所以可能会使用 curl。
    • 看看这个答案,它可能对你有帮助:stackoverflow.com/a/16902348/5774506
    猜你喜欢
    • 2016-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-28
    • 2023-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多