首页 > 解决方案 > 将 npm-shrinkwrap 的 lockfileVersion 永久修复为 lockfileVersion@1,它会自动生成 lockfileversion@2?

问题描述

当我尝试将我的代码推送到 github 操作或构建 dockerimage 时,我得到了这个。

 shell: /usr/bin/bash -e {0}
npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but package-lock.json was generated for lockfileVersion@2. I'll try to do my best with it!

我试图实现这个链接它可以工作,但是在一些提交之后我又得到了同样的错误,我不得不一次又一次地重复相同的过程。

有什么解决办法吗?

标签: npmdockerfilenode-modulesgithub-actions

解决方案


如果您有以下行,请查看您的 .gitignore:

包-lock.json

节点模块/

如果没有,然后添加它们,

之后查看您的 Github 存储库并删除 package-lock.json 文件和 node_modules 目录(如果有)

重要编辑:

我的错,Kevin Martin 是对的,官方文档告诉我们将其添加到 CI/CD 的存储库中。

该文件旨在提交到源存储库中,并用于各种目的:

描述依赖关系树的单一表示,以保证团队成员、部署和持续集成安装完全相同的依赖关系。

为用户提供“时间旅行”到 node_modules 先前状态的工具,而无需提交目录本身。

通过可读的源代码控制差异来促进对树更改的更大可见性。

并通过允许 npm 跳过以前安装的包的重复元数据解析来优化安装过程。

但是对于我的情况(Azure Devops),我遇到了很多麻烦。


推荐阅读