码头工人节点安装



我正在尝试准备一个 docker 映像以加快构建过程并避免每次构建安装各种工具和库,我的基础映像将包含它,然后我将它与我需要的所有已安装的东西一起使用。

所以问题是我正在尝试从 NVM(节点版本管理器(安装节点,但在安装后我无法使用、nvmnpm命令。

我的基本映像是 golang:1.13.1,我执行以下操作。

RUN curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash

然后在教程中,我看到必须运行~/.nvm/nvm.sh才能完成如下工作

export NVM_DIR="$HOME/.nvm"

[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

我稍微更改了一下它,因为我的 docker 映像由于不同的 shell 而无法识别几个命令。

但是当我做两个单独的RUN时,第二个就看不到NVM_DIR了。当然,我可以在一个RUN中完成所有操作,但我稍后需要npm,因此每个RUN都应该能够看到此命令。

另外,我尝试导出NVM_DIR但即使我使用. ~/.bashrc重新启动,它仍然不起作用。

拥有NVM的重点是我不想关心节点版本。每个构建都将是一个 LTS 版本,这对我来说没问题。

欢迎分享您的解决方案或建议。提前致谢

在不更改映像和没有 nvm(我不太喜欢(的情况下使用 npm 安装 nodejs 的方法是

RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - 
&& apt-get install -y nodejs

RUN npm -vRUN node -v之后,它与 nvm 的 LTS 版本相同,因此为 6.9.0 和 10.16.3。

我找不到更好的解决方案,但我希望它可以帮助某人

最新更新