问题标签 [package-lock.json]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1126 浏览

node.js - 为什么“npm install”不重写 package-lock.json?如果不存在也不生成新的?

在 package.json 中添加新的依赖项并运行 npm install 后,我希望在 package-lock.json 文件中看到更改 - 但 package-lock.json 没有更改。设置:节点版本 6.11.0 npm 版本 3.10.10 我试图删除旧的 package-lock.json,运行 npm install 后 - 没有生成新文件。谁能告诉我如何更新 package-lock.json? 编辑:有时我和我的同事有不同的 npm 版本,所以我在代码库中有 package-lock.json,但无法更新它,因为我当前的 npm 版本不支持此功能。更新后一切正常。

0 投票
1 回答
2488 浏览

node.js - 为什么我在不同系统上运行 `npm install` 时会得到截然不同的 `package-lock.json` 文件

使用相同的 git 存储库,如果我删除node_modulesand package-lock.json,我的期望是每次运行npm install都应该生成相同的文件(提供或获取一些可能在此期间由发布者更新的模块。package-lock.json

我发现,根据我是在 OSX 机器上还是在 Linux 机器上执行此操作,我会得到截然不同的文件。

这是可以预料的吗?如果是这样,提交文件的价值是什么package-lock.json,因为它在这些系统之一上是无效的。如果没有,这里可能会发生什么?

0 投票
5 回答
67947 浏览

npm - npm install 没有创建新的 package-lock.json

我不小心删除了我的 package-lock.json 文件。npm install 不会生成新的。如何让 npm 重新创建此文件。

0 投票
3 回答
10255 浏览

npm - 将 npm 的“package-lock.json”置于版本控制之下有什么意义?

将 npmpackage-lock.json置于版本控制之下有什么意义?根据我的经验,控制此文件源会导致比提高效率更多的麻烦和混乱。

每次添加/删除/修改任何节点模块的开发人员需要解决分支之间的冲突时,拥有package-lock.json源代码控制都会让人头疼。特别是在 package-lock.json 可能长达数万行的复杂/大型应用程序上工作。即使只是吹走 node_modules 并运行一个新的也可以在包锁中产生巨大的变化。npm install

关于包锁还有其他几个 SO 问题:

还有一个关于包锁的大量对话的 GitHub 问题:

这让我认为仍然存在需要消除的广泛不确定性。

根据文档

package-lock.json为 npm 修改 node_modules 树或 package.json 的任何操作自动生成。

那么,您为什么要将自动生成的文件置于源代码控制之下呢?

上面的 GitHub 问题详细介绍了一些人如何响应与 package-lock.json 的混淆,将他们的npm install脚本更改为rm -f package-lock.json && npm install,这也感觉不正确。

似乎package-lock.json正在努力成为节点模块依赖项的确切版本的真相来源,但这不正是 package.json 所做的吗?解决此文件中的合并冲突的痛苦何时开始得到回报?

0 投票
1 回答
1143 浏览

json - 如何防止 git 为 JSON 文件生成错误的差异?

git认为一个.json文件的两个版本不同,但实际上它们的数据不是:

我们如何告诉 git 忽略 JSON 文件的这种差异?

笔记:

以下来自 Tomasz Wegrzanowski 博客的代码:

不工作并导致挂起git diff

0 投票
1 回答
114 浏览

npm - package-lock.json 升级后缺少 ava 依赖项

我刚刚ava在我的一个项目中使用npm install --save-dev ava@0.22.0.

令我惊讶的是,它的所有依赖项现在都缺少package-lock.json

添加:

删除:

除此之外,我的代码和测试按预期运行。

为什么从package-lock.json文件中删除所有依赖项?

0 投票
6 回答
220688 浏览

node.js - 有没有办法强制 npm 生成 package-lock.json?

我无意中删除了它,并对其进行了许多更改package.json。一个npm installnpm update不再生成package-lock.json。我尝试清除我的 npm 缓存和我的 nvm 缓存,但似乎没有任何效果。我在几个版本的 Node.js 上尝试过(6.10.3 Node.js - 3.10.10 npm 是我想要的),但它在任何版本上都不起作用。

有没有办法强制 npm 生成package-lock.json文件?

0 投票
2 回答
5363 浏览

package.json - package-lock.json 有什么用?

谁能告诉我 package-lock.json 文件的确切用途?

尽管许多人提到它用于查看版本依赖树。

寻找简单易懂的解释。

提前致谢。

0 投票
1 回答
585 浏览

node.js - 使用 package-lock.json 更新中间 npm 依赖项

在存在package-lock.json 文件的情况下,使用 npm 更新中间依赖项的正确方法是什么?

例如:

package-lock.json 通过将 eslint(中间依赖项,在本例中为 grunt-eslint)保持在 4.9.0 来完成其工作。如何更新到 eslint@4.10?

我尝试了以下命令,但 npm 没有执行任何操作:

如果我将 eslint 添加为顶级依赖项,它会起作用,但我认为这不是正确的方法。

0 投票
4 回答
5965 浏览

npm - npm 安装失败:buble@github:pemrouz/buble 引用不是树

概括:

我正在寻找一种策略,了解如何找到并修复 package-lock.json 中的错误。此错误中断npm install

  • 我如何弄清楚是什么安装了这个 buble 依赖项?
  • 我可以简单地删除条目吗?
  • 我如何确定参考值应该是多少?

细节

我想更新我的 node_modules。所以我删除了我的 node_modules 目录,然后运行npm install​​. 虽然这在过去一直有效,但现在失败并出现以下错误(在 AppData\Roaming\npm-cache_logs\XXXX-debug.log 中找到):

我相信参考来自 /package-lock.json ,我在其中找到了 2 个使用此参考的条目。搜索网络告诉我 /package-lock.json 是由 npm 更新的。我不知道这个气泡包是如何添加到我的项目中的 - 一定是其他包的依赖项,但我缺乏找出哪个包的技能。条目如下所示:

在网上搜索类似问题似乎来自尝试同步其存储库的用户。这些解决方案提出了在 Gitub 中同步分叉的方法,但不适用于我的情况。据我所知,有人以某种方式更新了 Github 存储库,这打破了这个参考。

所以,我正在寻找一种策略来解决这个问题。我如何弄清楚是什么安装了这个 buble 依赖项?我可以简单地删除条目吗?我如何确定参考值应该是多少?

提前感谢任何方向