gpt4 book ai didi

node.js - require.resolve 未解决依赖关系

转载 作者:太空宇宙 更新时间:2023-11-03 21:52:55 25 4
gpt4 key购买 nike

我正在开发一个 Node 模块,我必须检查用户是否安装了特定的包(这是我必须遵循的逻辑),如果没有,则使用 child_process.exec 安装它>.

这就是问题出现的地方,即使我的脚本安装了该包(node_modules 包含它,还有 package.json),如果我调用 require.resolve 再次提示该模块不存在。

据我发现(来自node github问题),node有一种“缓存”,在第一次调用时,如果未安装该包,则该包的缓存条目设置为一个随机值,即不是通往它的道路。然后,当您安装并尝试再次调用它时,它会调用该缓存条目。

还有其他方法可以检查软件包是否已安装,或者我的本地 Node 安装是否已损坏?

最佳答案

查看node.js require() cache - possible to invalidate?

可以通过如下方式清理 require 缓存:

delete require.cache[require.resolve('./module.js')]

关于node.js - require.resolve 未解决依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48704041/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com