问题标签 [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 投票
1 回答
3174 浏览

node.js - 为什么 `npm install` 会为同一个 `package.json` 文件生成不同的 `package-lock.json` 文件?

这是我package.json文件的相关部分:

我在同一台 PC 上的两个不同的存储库中有这个文件。

当我同时npm install在这些存储库中的每一个中运行时,我会package-lock.json在每个存储库中得到一个不同的文件。

这怎么可能?

这是一个可能的线索:

package-lock.json如果我事先删除了文件,则会npm install中止并出现错误。

npm install所以我的问题的答案可能与依赖于现有package-lock.json文件的事实有关。

最初,我package-lock.json在这些存储库中有不同的文件,因为相应的package.json文件不同。

现在我已经将package.json其中一个存储库中的文件更改为与另一个相同,我希望相应的package-lock.json文件也将变得相同。

0 投票
0 回答
2004 浏览

npm - 如何为现有的 Lerna mono-repo 生成每个包的 package-lock.json

我们有一个现有的Lerna mono-repo,其结构如下:

我们目前在项目中使用 Yarn,实际上只有一个顶级yarn.lock文件,没有每个包yarn.lock,因为我们从未使用过 Workspaces。

我们正在尝试切换到 npm,并希望package-lock.json为 mono-repo 中的每个包生成一个文件,而不仅仅是顶层。我们应该怎么做?运行npm run lerna bootstrap --hoist会创建一个顶级锁定文件,但不包含任何"dev": true标签,也不包含任何本地包。我能做的最好的事情是做npm run lerna add somePackage --scope=package1,即使somePackage已经存在于 中package,也会导致为 mono repo 中的每个包生成一个package-lock.json文件,除了package1. 此外,生成的package-lock.json文件没有任何开发依赖项。

此外,我无法进入每个包并运行npm install,因为npm不了解我们在 mono-repo 中其他本地包所依赖的许多本地包。奇怪的是,即使在package-lock.jsonnpm 通过 生成的文件中lerna add,这些文件也不包含对本地包的任何引用,只包含对外部包的引用。

那么:如何为package-lock.jsonmono-repo 中还包含 devDependencies 的每个包生成一个文件?

0 投票
1 回答
141 浏览

npm - npm 未检测到 johnny-5 库

我尝试按照网站中的说明安装 Johnny-5 库。在运行代码时安装后我收到如下错误,请帮助。

在安装 Johnny-5 包时,我收到一条消息,例如 package-lock.json 需要提交,是否会产生任何问题?

0 投票
0 回答
289 浏览

github - npm 在 package-lock.json 中设置最新的依赖项

很抱歉我的整体愚蠢和对 npm 工作原理的理解薄弱。

我现在在 Angular 6 上做一个项目,github 说 hoek 包有漏洞。

运行npm ls hoek我得到这个依赖树:

无论我做什么,都会npm install重新创建这个依赖树。据我了解,这些依赖关系是自动拾取的,为了解决这个问题,这个树中的所有包都应该更新它们的依赖关系,从底部开始:首先,新版本boomsntp应该开始使用新版本的 hoek,然后是新版本ofhawk应该使用新版本的boom and sntp...

但据我在 github 上看到的,chain 中的一些包尚未更新。

所以,我的问题是:到目前为止,我该如何解决这个项目中的这个问题?我可以手动更改 package-lock.json 中的依赖版本(谦虚地希望较低版本的较低版本与较高版本的旧版本兼容)?

它会以某种方式解决我的问题,即 hoek 2.16.3 将从项目中消失吗?

0 投票
0 回答
284 浏览

npm - 从 npm-shrinkwrap.json 创建或派生 package-lock.json 文件

以前我们有旧版本的 npm,我使用npm-shrinkwrap.json文件来锁定依赖项。现在我们升级到 npm 6,我想使用package-lock.json而不是 old npm-shrinkwrap.json

那么我该如何创建一个package-lock.json现在呢?

  • 是否有任何工具可用于将 npm-shrinkwrap.json 转换为 package-lock.json?
  • 我找到了建议 重命名npm-shrinkwrap.jsonpackage-lock.json.
  • 这样做可以吗?因为我不确定 fornpm shrinkwrap和 new的基本逻辑npm install
0 投票
0 回答
398 浏览

npm - package-lock.json 正在破坏我的构建

作为我的 CI 的一部分,npm install每次从 git repo 签出最新代码后,构建脚本都会运行。从几天前开始,由于缺少模块,我的构建开始失败,并显示错误消息:

当我仔细研究它时,我意识到从某个点npm install开始,命令的行为开始有所不同,并且我的package-lock.json文件以不再需要该cuint模块的方式进行了更新。这是我在命令package-lock.json之前和之后的一部分截图:npm install

在此处输入图像描述

最让我困惑的部分是,为什么在所需模块之前xxhashjs具有相同版本的相同软件包而现在却没有,据称。这不是打破了锁定版本的全部意义吗?0.2.1cuint

任何有关如何处理此问题的想法将不胜感激。

0 投票
1 回答
2745 浏览

package.json - package.json、package-lock.json 和 yarn.lock 文件的区别?

我已经从下面的链接中了解了详细信息,但是什么时候使用哪个文件仍然是个问题? https://docs.npmjs.com/files/package-lock.json

0 投票
1 回答
1260 浏览

npm - 如何使用 package-lock.json 中的版本覆盖 package.json “最新” dist-tag?

我想在我的内部包中使用latest分发标签。package.json这使我能够npm install在本地环境中始终获得他们的最新版本,而无需更新所有外部第三方。

当我修复已部署的版本时,问题就出现了:

  • 出于修补程序的目的,我package-lock.json为应用程序的每个部署版本生成并保存。
  • 但是当我npm install在修复程序准备期间,内部包的版本之间存在冲突,package.json并且package-lock.jsonpackage-lock.json指向已部署应用程序中使用的版本,但package.json指向latest分发标签,该标签本身指向更高版本。
  • 由于指定的版本package-lock.json不适合指定的版本范围package.json(非常具体 - 只有最新版本才适合),所以npm install忽略package-lock.json并安装最新版本。

我搜索了文档和互联网,但没有找到任何现有的解决方案:

  • 我没有找到任何npm install标志可以处理package-lock.json优先级高于分发标签的版本package.json
  • 我没有找到任何可以package.json从.package-lock.jsonpackage.jsonpackage-lock.json

我的问题是否有任何解决方案(除了编写一个将实现最后一种方法的工具)?

沙箱: https ://github.com/maxlk/npm-lock-version-should-override-latest (克隆并运行npm install或替代)

0 投票
0 回答
65 浏览

javascript - 通过命令行更新“packages-lock.json”中易受攻击的包

我的应用程序的代码是通过 GitHub 管理的,GitHub 告诉我我的package-lock.json文件中存在一些漏洞。在此处输入图像描述

现在据我了解, package.json文件中可能有多个包依赖或使用package-lock.json文件中的这些易受攻击的包。

如何通过命令行将这些包更新为安全版本。

我试过的:

  1. 我试过跑步npm install

  2. 我尝试删除 package-lock.json 文件并运行npm install

  3. 我也试过npm update& 然后npm install

0 投票
1 回答
531 浏览

npm - package-lock.json 包含非精确版本

根据package-lock.json 的文档

它描述了生成的确切树,以便后续安装能够生成相同的树,而不管中间依赖项更新如何。

我正在查看包含以下版本的 package-lock.json 文件:

requires依赖项之一的块中。

虽然主项目的子依赖项被“锁定”,因为没有版本歧义,但这些传递依赖项却没有。但是,如果树中的任何依赖项都需要解释,那么 npm 如何“能够生成相同的树,而不管中间依赖项更新如何”?