问题标签 [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.
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 版本不支持此功能。更新后一切正常。
node.js - 为什么我在不同系统上运行 `npm install` 时会得到截然不同的 `package-lock.json` 文件
使用相同的 git 存储库,如果我删除node_modules
and package-lock.json
,我的期望是每次运行npm install
都应该生成相同的文件(提供或获取一些可能在此期间由发布者更新的模块。package-lock.json
我发现,根据我是在 OSX 机器上还是在 Linux 机器上执行此操作,我会得到截然不同的文件。
这是可以预料的吗?如果是这样,提交文件的价值是什么package-lock.json
,因为它在这些系统之一上是无效的。如果没有,这里可能会发生什么?
npm - npm install 没有创建新的 package-lock.json
我不小心删除了我的 package-lock.json 文件。npm install 不会生成新的。如何让 npm 重新创建此文件。
npm - 将 npm 的“package-lock.json”置于版本控制之下有什么意义?
将 npmpackage-lock.json
置于版本控制之下有什么意义?根据我的经验,控制此文件源会导致比提高效率更多的麻烦和混乱。
每次添加/删除/修改任何节点模块的开发人员需要解决分支之间的冲突时,拥有package-lock.json
源代码控制都会让人头疼。特别是在 package-lock.json 可能长达数万行的复杂/大型应用程序上工作。即使只是吹走 node_modules 并运行一个新的也可以在包锁中产生巨大的变化。npm install
关于包锁还有其他几个 SO 问题:
- 我是否提交由 npm 创建的 package-lock.json 文件
- Npm - package-lock.json 角色
- 为什么 npm install 会重写 package-lock.json?
还有一个关于包锁的大量对话的 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 所做的吗?解决此文件中的合并冲突的痛苦何时开始得到回报?
json - 如何防止 git 为 JSON 文件生成错误的差异?
git
认为一个.json
文件的两个版本不同,但实际上它们的数据不是:
我们如何告诉 git 忽略 JSON 文件的这种差异?
笔记:
以下来自 Tomasz Wegrzanowski 博客的代码:
不工作并导致挂起git diff
npm - package-lock.json 升级后缺少 ava 依赖项
我刚刚ava
在我的一个项目中使用npm install --save-dev ava@0.22.0
.
令我惊讶的是,它的所有依赖项现在都缺少package-lock.json
:
添加:
删除:
除此之外,我的代码和测试按预期运行。
为什么从package-lock.json
文件中删除所有依赖项?
node.js - 有没有办法强制 npm 生成 package-lock.json?
我无意中删除了它,并对其进行了许多更改package.json
。一个npm install
或npm update
不再生成package-lock.json
。我尝试清除我的 npm 缓存和我的 nvm 缓存,但似乎没有任何效果。我在几个版本的 Node.js 上尝试过(6.10.3 Node.js - 3.10.10 npm 是我想要的),但它在任何版本上都不起作用。
有没有办法强制 npm 生成package-lock.json
文件?
package.json - package-lock.json 有什么用?
谁能告诉我 package-lock.json 文件的确切用途?
尽管许多人提到它用于查看版本依赖树。
寻找简单易懂的解释。
提前致谢。
node.js - 使用 package-lock.json 更新中间 npm 依赖项
在存在package-lock.json 文件的情况下,使用 npm 更新中间依赖项的正确方法是什么?
例如:
package-lock.json 通过将 eslint(中间依赖项,在本例中为 grunt-eslint)保持在 4.9.0 来完成其工作。如何更新到 eslint@4.10?
我尝试了以下命令,但 npm 没有执行任何操作:
如果我将 eslint 添加为顶级依赖项,它会起作用,但我认为这不是正确的方法。
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 依赖项?我可以简单地删除条目吗?我如何确定参考值应该是多少?
提前感谢任何方向