gpt4 book ai didi

node.js - Docker 构建 - npm 版本与 lockfileVersion@1 不兼容

转载 作者:行者123 更新时间:2023-12-02 16:09:39 24 4
gpt4 key购买 nike

我正在尝试构建 React 应用程序的 Docker 镜像。

这是 package.json 的第一部分:

{
"name": "front",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.14.1",
"@testing-library/react": "^11.2.7",
"@testing-library/user-event": "^12.8.3",
"eslint": "^7.29.0",
"html-react-parser": "^1.2.7",
"npm": "^6.14.4",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-input-mask": "^3.0.0-alpha.2",
"react-redux": "^7.2.4",
"react-router-dom": "^5.2.0",
"react-scripts": "^4.0.3",
"redux": "^4.1.0",
"semantic-ui-css": "^2.4.1",
"semantic-ui-react": "^2.0.3",
"web-vitals": "^1.1.2"
},

这是 Dockerfile:

# pull official base image
FROM node:13.12.0-alpine

# set working directory
WORKDIR /app

# add `/app/node_modules/.bin` to $PATH
ENV PATH /app/node_modules/.bin:$PATH

ARG REACT_APP_BASEURL='https://localhost:8081'
ENV REACT_APP_BASEURL=$REACT_APP_BASEURL

# install app dependencies
COPY package.json ./
COPY package-lock.json ./
RUN npm install

# add app
COPY . ./

#EXPOSE
EXPOSE 3000

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

因此,我使用命令行构建:

docker build -f Dockerfile -t api_front .

我有这个错误信息:

npm WARN read-shrinkwrap This version of npm is compatible withlockfileVersion@1, but package-lock.json was generated forlockfileVersion@2. I'll try to do my best with it!

如果我用 npm -v 检查 npm 的版本,我得到的是最新版本 (7.19.1)

如果我转到项目文件夹并运行 npm install ,一切都是最新的

如果我使用 npm start 启动应用程序,一切正常并且 api 正在运行...

问题是什么?

编辑:解决方案

我已经改变了:

FROM node:13.12.0-alpine

FROM node:latest

最佳答案

用于生成package-lock.json文件的npm(v7.19.1)版本比node 13.12.0的docker镜像中的npm(v6.14.4)版本更新。 .

1: The lockfile version used by npm v5 and v6.
2: The lockfile version used by npm v7, which is backwards compatible to v1 lockfiles.

您可以阅读更多关于锁定文件版本的信息 here

您可以升级 docker 镜像以使用最新版本或降级您的 npm 以生成兼容的 package-lock.json

编辑#1:

您必须将 docker 文件的第一行替换为:

FROM node:16.4.2

关于node.js - Docker 构建 - npm 版本与 lockfileVersion@1 不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68360501/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com