-2

我正在尝试 Dockerise 一个 React 应用程序,但是当它到达安装命令时npm会引发错误。

我的 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"]

当它到达要运行的命令时,错误是这样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
4

2 回答 2

1

#9 40.35 错误找不到二进制 git

解决方案:在你的 docker 镜像中安装 git。

于 2022-01-17T21:22:42.743 回答
1

像这样在你的图像中安装 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"]
于 2022-01-17T22:28:43.447 回答