【问题标题】:Latest version of npm required to install安装所需的最新版本的 npm
【发布时间】:2021-04-29 20:38:44
【问题描述】:

我是编码新手,所以请放轻松。

我在 github 上有一个项目,由 softwarehouse 制作 - 它是使用 Django Rest 框架、React 应用程序、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' - 仍然得到同样的错误

当我在没有 --silent 的情况下运行 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 
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 选项,你会得到更多的输出吗?
  • 是的,我得到了不同的输出,我编辑了原始消息并在最后发布了它
  • 我注意到安装过程中缺少package-lock.json,这可能是导致此错误的原因。您应该尝试用COPY package.json package-lock.json ./ 替换COPY package.json ./,然后运行docker-compose up --build

标签: node.js docker npm


【解决方案1】:

我在 npm install 之前添加了以下行,它对我有用。它选择最新的 npm 版本并安装在您的目录中 运行 npm install -g npm@7.19.1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-09
    • 2020-04-06
    • 2017-04-01
    • 2019-01-16
    • 1970-01-01
    相关资源
    最近更新 更多