【发布时间】:2020-05-25 22:06:06
【问题描述】:
直到今天,我的 Angular 项目都使用 Gitlab 在 Docker 上运行。但是从今天下午开始,我遇到了一个我无法解决的错误。
这是我的 DockerFile:
ARG REPOSITORY
ARG PORT
FROM ${REPOSITORY}/javascript:cert as build
WORKDIR /app
COPY ./ /app
RUN npm install -g npm@latest
RUN npm i -g @angular/cli
RUN ng build --output-path=dist
FROM ${REPOSITORY}/nginx:cert
COPY --from=build /app/dist /usr/share/nginx/html
EXPOSE 80
ENTRYPOINT ["nginx", "-g", "daemon off;"]
正如我所说,一切正常,但现在当我到达“Step 8/12 : RUN ng build --output-path=dist”时,我收到了这个错误:
"检测到未定义的 Node.js 版本。Angular CLI 需要 v10.13 或 v12.0 的最低 Node.js 版本。”
似乎找不到我的 Node 版本,我不明白为什么。我试图设置一个特定的 npm 版本,但它没有改变。
有什么想法吗? 感谢您的帮助!
【问题讨论】:
-
基础镜像是否安装了节点?
-
我认为是的,因为如果不是这样的话,它直到现在都不会起作用。我对 Docker 很陌生,我不确定“基本映像”是什么。如何检查它是否安装好?
-
要么有人更改了基础镜像,要么新的角度版本与您拥有的 Node 版本冲突。您可以通过检查图像来检查第一个假设。对于第二个,为依赖项指定特定版本并在确定新版本有效时手动升级总是一个好主意。
-
当我在控制台中输入“docker images”时,我可以找到带有“latest”标签的“node”行。当我检查它时,我没有发现任何问题,但我不确定我应该寻找什么。我应该删除并重新创建一个新的节点图像吗?
标签: node.js docker version undefined