首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在package-lock.json中“需要什么:真”?

在package-lock.json中“需要什么:真”?
EN

Stack Overflow用户
提问于 2017-07-15 11:22:02
回答 1查看 4.8K关注 0票数 11

我们的团队刚刚更新为npm@5。package-lock.json和Mac是统一的(某些依赖项是可选的,所以它们不会安装在Windows上,但它们会安装在Mac上),因此不管机器如何,我们都会生成相同的node_modules结构。这样做很好,然后每个团队成员都经历了以下步骤:

  1. rm -rf node_modules
  2. git pull
  3. npm install

实际上,这对于所有团队成员来说都非常完美,除了一位在npm install之后进行了修改的npm install的成员。修改后的一行是删除了"requires": true

所以我看到:

代码语言:javascript
复制
{
  ...
  "version": "0.0.1",
  "lockfileVersion": 1,
  "requires": true,
  "dependencies": {
  ...
}

但他看到:

代码语言:javascript
复制
{
  ...
  "version": "0.0.1",
  "lockfileVersion": 1,
  "dependencies": {
  ...
}

有人知道为什么requires: true可能会从某些机器上的package-lock.json文件中删除,而不是其他机器上的?另外,对这一财产所做的一些解释也不会有什么影响。:)

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-19 03:48:10

正如我在评论中所怀疑的那样,requires字段是从5.1.0开始添加的。您可以在这里看到相关的拉请求,https://github.com/npm/npm/pull/17508 (在这里可以看到https://github.com/npm/npm/releases/tag/v5.1.0)

引用它所说的话:

这有几个修复方法:

  1. 它引入了一个新的package-lock.json字段,称为requires,它跟踪给定模块需要哪些模块。
  2. .

为了避免这种冲突,我建议您(以及我自己)确保所有的团队成员都使用相同的npm版本。

更新

在将npm升级到5.1.0版本之后,我遇到了缺少依赖项的问题(处理一个Range4应用程序)。如果有人遇到同样的问题,下面是我为解决这一问题所做的工作:

代码语言:javascript
复制
rm -rf node_modules
npm prune
npm install

希望能帮上忙。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45117589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档