Npm 安装特定版本在 Dockerfile 中不起作用

时间:2021-05-07 11:16:03

标签: docker npm dockerfile eslint

我正在尝试在 node:alpine 映像(最新标记)中安装特定版本的 npm 包,因此这是我在 Dockerfile 中指定的内容:

编辑(这是完整的 Dockerfile):

FROM node:alpine as build-stage
ARG SONAR_VERSION=4.6.0.2311
RUN apk add --no-cache zip unzip
RUN wget -c https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-$SONAR_VERSION-linux.zip

RUN unzip -q sonar-scanner-cli-$SONAR_VERSION-linux.zip
RUN rm sonar-scanner-cli-$SONAR_VERSION-linux.zip

# Adding the $install_directory/bin directory to path
RUN cd sonar-scanner-$SONAR_VERSION-linux
RUN echo $PWD
RUN export PATH="$PATH:/$PWD/bin"

RUN npm i -g eslint@6.7.2
RUN npm i -g eslint-plugin-vue --save-dev

但是,当我运行并执行构建的镜像时,安装的 eslint 版本是最新的,而不是我在 Dockerfile 中指定的版本。

来自 npm list -g 的结果:

/ # npm list -g
/usr/local/lib
+-- eslint-plugin-vue@7.9.0
+-- eslint@7.25.0
`-- npm@7.11.2

如果我在容器内运行 npm i -g eslint@6.7.2npm list -g 中的版本将与我指定的完全相同。

出现这种情况的原因是什么?

0 个答案:

没有答案