我是一名编程新手,请别对我太苛刻。
我在Github上有一个项目,由软件公司开发 - 它是使用Django Rest框架、React app和Docker制作的MVP应用程序。
现在我想在我的Mac上运行它,但出现了问题。
当我运行docker-compose.yml并使用docker-compose up启动时,它会安装所有包,直到尝试安装npm的步骤,然后我会收到一个错误:
npm notice
npm notice New patch version of npm available! 7.4.0 -> 7.4.3
npm notice Changelog: <https://github.com/npm/cli/releases/tag/v7.4.3>
npm notice Run `npm install -g npm@7.4.3` to update!
npm notice
ERROR: Service 'pet-frontend' failed to build : The command '/bin/sh -c npm install --silent' returned a non-zero code: 1
Failed to deploy 'Compose: docker-compose.yml': `docker-compose` process finished with exit code 1
我不知道为什么无法安装最新版本?我有最新的Node.js,其中npm是7.4.0。
我该如何强制安装7.4.0或如何安装7.4.0以便部署能够继续进行?
__更多信息__
前端dockerfile文件如下:
FROM node:latest
WORKDIR /app
ENV PATH /app/node_modules/.bin:$PATH
COPY package.json ./
RUN npm install --silent
RUN npm install react-scripts@3.4.1 -g --silent
COPY . ./
CMD ["npm", "start"]
当我添加 'RUN npm install -g npm@7.4.3' 时,仍然会收到相同的错误。
当我运行 npm 而不使用 --silent 选项时,我会遇到这个错误:
npm notice
npm notice New patch version of npm available! 7.4.0 -> 7.4.3
npm notice Changelog: <https://github.com/npm/cli/releases/tag/v7.4.3>
npm notice Run `npm install -g npm@7.4.3` to update!
npm notice
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! Found: prop-types@15.6.0
npm ERR! node_modules/prop-types
npm ERR! peer prop-types@"<=15.6.0" from check-prop-types@1.1.2
npm ERR! node_modules/check-prop-types
npm ERR! dev check-prop-types@"^1.1.2" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! react-leaflet-search@"^2.0.1" from the root project
npm ERR!
npm ERR! Conflicting peer dependency: prop-types@15.7.2
npm ERR! node_modules/prop-types
npm ERR! peer prop-types@"^15.7.2" from react-leaflet-search@2.0.1
npm ERR! node_modules/react-leaflet-search
npm ERR! react-leaflet-search@"^2.0.1" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See /root/.npm/eresolve-report.txt for a full report.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2021-01-26T10_49_01_333Z-debug.log
ERROR: Service 'petsy-frontend' failed to build : The command '/bin/sh -c npm install' returned a non-zero code: 1
Failed to deploy 'Compose: docker-compose.yml': `docker-compose` process finished with exit code 1
--silent
选项,你会得到更多输出吗? - David Mazepackage-lock.json
,这可能是导致错误的原因。你应该尝试将COPY package.json ./
替换为COPY package.json package-lock.json ./
,然后运行docker-compose up --build
。 - Getriax