简体   繁体   English

=> 错误 [5/5] 运行 npm 在 Dockerfile 中安装或纱线

[英]=> ERROR [5/5] RUN npm install or yarn in Dockerfile

I am trying to Dockerise a React app, but when it reaches the command to install npm it throws an error.我正在尝试 Dockerise 一个 React 应用程序,但是当它到达安装npm的命令时会引发错误。

My Dockerfile contains:我的 Dockerfile 包含:

# pull official base image
FROM node:12.6.0-alpine


# set working directory
RUN mkdir /app
COPY . /app
WORKDIR /app
ENV PATH /app/node_modules/.bin:$PATH

RUN yarn

# start app
CMD ["npm", "start"]

The error is this when it reaches the command to run npm install or yarn :当它到达运行npm installyarn的命令时,错误是这样的:

[5/5] RUN yarn:                                                                                                                             
#9 0.725 yarn install v1.16.0                                                                                                                  
#9 0.789 info No lockfile found.                                                                                                               
#9 0.801 warning package-lock.json found. Your project contains lock files generated by tools other than Yarn. It is advised not to mix package managers in order to avoid resolution inconsistencies caused by unsynchronized lock files. To clear this warning, remove package-lock.json.   
#9 0.809 [1/4] Resolving packages...
#9 1.507 warning axios@0.19.2: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410
#9 8.363 warning formik > create-react-context > fbjs > core-js@1.2.7: core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.
#9 40.35 error Couldn't find the binary git
#9 40.35 info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
------
executor failed running [/bin/sh -c yarn]: exit code: 1

#9 40.35 error Couldn't find the binary git #9 40.35 错误找不到二进制 git

Solution: install git in your docker image.解决方案:在 docker 映像中安装 git。

Install git in your image like this像这样在您的图像中安装 git

FROM node:12.6.0-alpine
RUN apk update && apk add git

# set working directory
RUN mkdir /app
COPY . /app
WORKDIR /app
ENV PATH /app/node_modules/.bin:$PATH

RUN yarn

# start app
CMD ["npm", "start"]

in my case, folllowing command worked inside Dockerfile:在我的例子中,以下命令在 Dockerfile 中工作:

RUN npm install --force

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM