我有一个要在其中安装nvm的Dockerfile。安装后,我将需要使用nvm安装节点5.11。问题是,在安装nvm之后,需要关闭终端并再次运行,以使nvm命令可用。
我的docker文件如下:
# Installing Node
RUN Y | curl https://raw.githubusercontent.com/creationix/nvm/v0.30.2/install.sh | bash
# RUN bash --login
RUN exec bash
RUN nvm install 5.11.0
# Installing Project dependencies
RUN npm install yarn -g
RUN npm install -g webpack@1.13.2
我得到的输出是:
Step 5/9 : RUN exec bash
---> Using cache
---> cfcdc4c98714
Step 6/9 : RUN nvm install 5.11.0
---> Running in 1874de4a7715
/bin/sh: 1: nvm: not found
The command '/bin/sh -c nvm install 5.11.0' returned a non-zero code: 127
在真正的Linux中,关闭并启动终端后运行https://raw.githubusercontent.com/creationix/nvm/v0.30.2/install.sh | bash
后,nvm命令可用。我该如何在dockerfile中执行此操作?预先感谢。
答案 0 :(得分:0)
您应该使用已经安装了正确版本的node.js的prebuilt node image。
当您已经有了Docker映像作为与可能安装在主机上的其他软件的隔离层时,就不需要nvm(rvm,virtualenv等)之类的工具;您永远不会在单个映像中安装多个版本的语言运行时,而可能需要在台式机或开发人员系统上安装。
答案 1 :(得分:0)
具有命令可以执行此操作。
PATH="$PATH"
和exec bash
因此,您可以在dockerfile中添加这些命令。
如果exec bash
不起作用。请尝试另一个。
对我来说有用!