问题标签 [yarn-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.
javascript - yarn.lock 文件中的完整性属性是什么?
出于某种原因,该命令正在使用每个依赖项的新属性yarn
修改文件: .yarn.lock
integrity
吉特差异:
+完整性 sha1-zgBCgEX7t9AxwWp7+DV4nxU2arI=
我找不到有关它的文档,所以我的问题是 - 它是什么?
javascript - 纱线子依赖控制
在阅读纱线文档(部分:选择性依赖解决方案)时,我发现了用例:
您的依赖项定义了广泛的版本范围,而您的子依赖项刚刚获得了有问题的更新,因此您希望将其固定到早期版本。
就是这样:假设我安装了依赖项,并且此依赖项具有由依赖项锁定文件定义的子依赖项。当依赖项定义了其子依赖项的广泛版本时,可能会出现问题,即。子依赖可能会被碰撞,并且在全新安装时可能会破坏其母依赖(然后整个应用程序会关闭)。这意味着我无法控制子依赖版本。即使我有自己的锁定文件,在每次新的纱线安装上它都可能非常不同。
请帮助我理解,首先,即使我有自己的锁定文件,我也无法控制子依赖版本控制?其次,有没有办法以某种方式控制它以防止不受控制的子依赖碰撞?选择性依赖解决方案是一种控制它的方法,但只有在发现错误发生并且为所有子依赖项设置解决方案之后才有意义。
预期行为:将子依赖项锁定到平面版本,因为它与一级依赖项一样,因此当全新安装发生时,它不仅会安装精确的依赖项,还会在其他机器上安装相同的子依赖项(版本控制)。
谢谢!
docker - 更新 yarn .lock 并推送到远程以影响 docker 实例
在项目中,我是从我组织的 GitLab 中克隆出来的,package.json
as 中有一个模块:
"react-native-device-info": "https://github.com/KarlosQ/react-native-device-info#master",
并分别在yarn.lock
我们有
出于任何原因,beebff8dc...
在模块的主分支中不存在提交。
因此,GitLab 管道中的所有构建都会失败。
错误在...中找不到“beebff8dc ...”的匹配项
如何在本地更改它并推送到影响管道和构建通道的远程分支?
在本地清除 Yarn 缓存并没有帮助。从 yarn.lock 删除该模块会导致我的组织帐户不再被识别并yarn install
失败的其他问题!
ruby-on-rails - Yarn 升级不会删除 yarn.lock 文件中旧版本的 js-yaml 包
我在应用程序上的 yarn.lock 文件中有一个针对 js-yaml 的高严重性 git hub 安全漏洞rails
。
我已经运行yarn upgrade js-yaml
更新了 package.json 中的版本: "js-yaml": "^3.13.1",
但是问题仍然出现在github中。
我也尝试过删除 yarn.lock 并运行yarn install
以及使用重复数据删除工具yarn-deduplicate ./yarn.lock
(在其他情况下对我有用。但是尊敬仍然存在。
这是 js-yaml 在我的 yarn.lock 文件中的样子:
我想知道:
如何解决此特定问题
保持 yarn.lock 文件最新以避免安全漏洞的最佳实践是什么。
yarn upgrade
当我(例如https://github.com/yarnpkg/yarn/issues/3967)可能有一些我可以做不同的事情时,似乎我不是唯一一个遇到重复问题的人?
yarnpkg - 为什么在 package.json 中增加版本后运行 yarn install 时我的 yarn.lock 文件会发生变化?
我已经阅读了有关 yarn 命令和 yarn.lock 的文档,我被引导相信 yarn.lock 文件的全部意义在于使用该文件中指定的版本。
我很好奇的是:yarn.lock 中指定的版本是什么时候实际使用的?我在 package.json 中手动更改了一个包的版本,然后重新运行yarn install
,并更新了 yarn.lock 文件以使用新版本。我以为它会被锁定,所以在 package.json 中指定了什么新版本并不重要,只要 yarn.lock 为该包指定了一个版本,它就会使用那个旧版本。
如果这就是 yarn.lock 的工作方式,那么为什么不在 package.json 中指定 EXACT 版本,而不是在版本号前使用 ~ 或 ^。现在我必须这样做,以便在运行时不更改 yarn.lock 文件yarn install
。
那么锁定版本何时真正被使用/这是使用 yarn.lock 的正确方法吗?
javascript - Yarn:检查安装的包是否匹配 yarn.lock 和/或 packages.json?
是否有 Yarn 命令将 node_modules 文件夹与 yarn.lock 进行比较以查看是否匹配?或者,有没有办法检查自上次yarn install
运行以来是否已将新包添加到 packages.json 中?
git - 如何让 yarn.lock 指向最近的提交
我的 package.json 中有一个依赖项,它指向一个 git repo 和分支(例如git+ssh://git@github.com/some-repo#some-branch-name
)。当我安装依赖项时,yarn 将 commit-ish 解析为 yarn.lock 中的特定提交哈希,这会导致我的部署最终拉取旧版本的代码。有没有办法让纱线总是从指定的 git 分支中提取最新的提交?
security - eslint-utils 的安全漏洞,作为 eslint@5.12.0 的依赖项之一添加
我遇到Arbitrary Code Execution
了依赖项之一的安全漏洞 -中的eslint-utils
包eslint@5.12.0
。yarn.lock
任何升级eslint-utils
以消除审计漏洞的线索都将受到高度赞赏。
yarnpkg - 将完整性sha添加到旧的yarn.lock文件但不升级任何包的yarn命令
是否有任何纱线命令的组合我可以使用,以便在旧的 yarn.lock 文件中我们可以只添加完整性 sha,但它不会升级任何底层包。