gpt4 book ai didi

npm5 package-lock.json 不同机器上的不同入口

转载 作者:行者123 更新时间:2023-12-04 23:31:32 34 4
gpt4 key购买 nike

我们的项目使用 npm 进行包管理。从 npm 4 升级到 npm 5 后,我们决定选择加入新的 package-lock.json

在提交它并在其他机器上执行 npm install 之后,我们发现了指定版本和解析条目的方式的差异:

1) version 编码为 URL 的 package-lock.json 依赖示例:

"jspm": {
"version": "https://registry.npmjs.org/jspm/-/jspm-0.16.52.tgz",
"integrity": "sha1-axhH4I8TGsm9JnzFiXSXmudnXS4=",
"dev": true
},
"systemjs": {
"version": "https://registry.npmjs.org/systemjs/-/systemjs-0.19.46.tgz",
"integrity": "sha1-wEV0szNfBSoOPHoA7kGIxuTB444=",
"dev": true
},

2) 具有 versionresolved 属性的 package-lock.json 依赖示例:

"jspm": {
"version": "0.16.53",
"resolved": "https://registry.npmjs.org/jspm/-/jspm-0.16.53.tgz",
"integrity": "sha1-VvNR9JWUyJM+XgG2UUWsrr/PtZ4=",
"dev": true,
"dependencies": {
...
}
},
"systemjs": {
"version": "0.19.46",
"resolved": "https://registry.npmjs.org/systemjs/-/systemjs-0.19.46.tgz",
"integrity": "sha1-wEV0szNfBSoOPHoA7kGIxuTB444=",
"dev": true
},
...

除了有一个不稳定的 package-lock.json,我们的构建服务器在安装第一个示例时也有问题。

最佳答案

按照此过程生成 package-lock.json 的稳定版本:

  1. 删除现有的node_modules文件夹
  2. 删除现有的package-lock.json
  3. 执行npm install
  4. 提交并推送package-lock.json

对于团队的其他成员:

  1. 删除现有的node_modules文件夹
  2. 新的package-lock.json
  3. 执行npm install

在继续之前删除现有的 node_modules 是必不可少的步骤,因为 package-lock.json 会解析 node_modules 文件夹中的现有元数据。这意味着如果您的 node_modules 文件夹有剩余物,它们可能会被添加到 package-lock 的依赖项中,即使它们不再是实际的依赖项。

关于npm5 package-lock.json 不同机器上的不同入口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44748073/

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