Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Npm 是否可以只忽略一个模块(或注册表)的依赖项哈希验证?_Npm_Yarnpkg - Fatal编程技术网

Npm 是否可以只忽略一个模块(或注册表)的依赖项哈希验证?

Npm 是否可以只忽略一个模块(或注册表)的依赖项哈希验证?,npm,yarnpkg,Npm,Yarnpkg,warn.lock文件保存模块的所有依赖项版本和散列。我知道我可以使用选项——skip integrity check全局禁用此哈希检查 我们有一个不断开发的内部模块。依赖关系实际上是快照包的一部分。当它被更新时,它在我们的持续集成环境中失败,因为更新的包散列与保存的warn.lock散列不同 是否可以仅针对特定模块禁用完整性检查 我会接受这个答案,即使它告诉我如何禁用对特定注册表中所有模块的检查 更新:我的问题是,更新依赖项时,即使代码中没有修改,我的持续集成服务器作业也会中断。这些都是虚假的

warn.lock
文件保存模块的所有依赖项版本和散列。我知道我可以使用选项
——skip integrity check
全局禁用此哈希检查

我们有一个不断开发的内部模块。依赖关系实际上是快照包的一部分。当它被更新时,它在我们的持续集成环境中失败,因为更新的包散列与保存的warn.lock散列不同

是否可以仅针对特定模块禁用完整性检查

我会接受这个答案,即使它告诉我如何禁用对特定注册表中所有模块的检查

更新:我的问题是,更新依赖项时,即使代码中没有修改,我的持续集成服务器作业也会中断。这些都是虚假的失败,我想阻止它们

更新2:公认的解决方案实际上是解决常规开发工作流程中问题的一种技巧。有一种方法可以解决这个问题

而不是跑步

yarn install
你应该像下面那样运行它

yarn add <specificpackage>@^<versions> --update-checksums
yarn install
...
"preinstall": "node yarn_remove_hash.js"
...
您将更新
package.json中的
脚本
部分,如下所示

yarn add <specificpackage>@^<versions> --update-checksums
yarn install
...
"preinstall": "node yarn_remove_hash.js"
...

如果您想让@Tarun Lalwani的--update校验和对您和其他人来说更透明,您可以将以下内容添加到
.yarnrc

--install.update-checksums true
现在,当用户运行
warn install
时,它也会隐式更新校验和。这对我来说是必要的,因为我的一个依赖项链接到一个snapshot.tar.gz,这个snapshot.tar.gz会发生变化,NPM/Thread会认为它不会发生变化,这显然导致了这个完整性问题。因为这个原因,我不得不离开NPM,还尝试了预安装钩子(我认为我很聪明,但我想你们也这么做了)。
至少纱线在这方面有一个选择。Tarun更新的答案对我也不起作用,因为在运行任何挂钩之前,都会对Thread.lock进行检查。

您不能运行
Thread upgrade
将您的锁文件同步到最新可用的模块快照,而不是禁用完整性检查吗?@mrblewog:我已经更改了问题以使其更清晰。问题是我的持续集成服务器。注意到-我恐怕不知道答案!我希望它停止检查支票金额。这将修复它一次,但是当包被更新时(它是一个正在开发的包),它将再次失败。我想防止每次都需要更新哈希和,这样我的持续集成就不会失败。CI是否签出包并始终进行新安装?是的,但Thread.lock文件与nexus存储库中的依赖项包不一致。所以它失败了@Tarun Lalwani请加入聊天室我需要单独运行
节点Thread\u remove\u hash.js
,因为Thread在运行预安装脚本之前读取了Thread.lock文件。