问题描述
我最新的Google Cloud Build失败,并出现以下错误:
Step 3/16 : RUN npm i
---> Running in 9b3b8df05c12
npm notice
npm notice New patch version of npm available! 7.0.2 -> 7.0.3
npm notice Changelog: <https://github.com/npm/cli/releases/tag/v7.0.3>
npm notice Run `npm install -g npm@7.0.3` to update!
npm notice
npm ERR! Maximum call stack size exceeded
最后一次成功构建是在10月17日。从那以后,我只做了一次提交,就改变了一些打字稿。 dockerfile或NPM依赖项中的任何内容都没有改变。
Dockerfile的相关部分如下所示:
FROM node AS minifier
copY MyProject/Client .
RUN npm i
RUN npm install -g grunt-cli rollup
RUN grunt release
该问题似乎专门与RUN npm i
命令有关。这是一个错误吗?有什么我可以解决的吗?我确实重试了构建,但是遇到了相同的错误。
解决方法
这是由于npm的最新版本(即v7.0.3)引起的问题。有多种选择:
- 您可以将基本图像更改为
node:15.0.0
或node:15.0.0-slim
- 或者使用
yarn
代替npm也可以解决此问题 - 在Dockerfile中的
npm cache clean --force
之前运行npm i
我建议更改基本图像。