1.安装的node.js版本:v20.1.1,npm版本:10.2.4
2.在使用微信小程序云函数功能时,云函数总是调用失败。打开云开发控制台,查看云函数的日志,有如下报错:
根据提供的日志,看起来微信小程序云函数在调用过程中遇到了模块导入错误。错误信息指出无法找到模块'wx-server-sdk'。
3.ChatGPT给出的分析结果:
排除前两项后,初步推断可能是'wx-server-sdk'模块版本兼容性的问题。
4.找到的解决方案:参考这位大佬的方法,重新安装云函数依赖。https://blog.csdn.net/qq_44256828/article/details/104514347?spm=1001.2014.3001.5506
(1)新建Node.js云函数,然后对它右键在终端打开,输入
npm install --save
出现报错:
解决方案:输入npm audit fix尝试自动修复那些可以自动修复的问题。
结果显示:npm audit fix 命令执行后,依然存在安全漏洞。这可能是因为修复措施无法完全解决所有问题,或者某些漏洞修复需要手动操作。
GPT给出的漏洞说明:
解决方案:可通过 npm audit fix --force 安装 wx-server-sdk@2.5.3,但可能导致重大变更。
输入 npm audit fix --force 后得到结果:
可以看到更新了 wx-server-sdk 到了版本 2.5.3后漏洞数有所减少,但仍存在很多漏洞未能解决。项目中仍然存在一些漏洞,包括 :jsonwebtoken、lodash.set、request、tough-cookie 和 xml2js。
尝试再次输入运行:npm audit fix --force
漏洞数量继续减少 ,但仍没有全部解决。
说明虽然 npm audit fix 和 npm audit fix --force 可以自动修复一些漏洞,但它们不是万能的。有时候,这些工具可能会遇到无法自动解决的情况,尤其是在涉及到重大版本更改时。
(2)这时进行了下一步:安装wx-server-sdk。在上一步打开的终端上输入
npm install --save wx-server-sdk@latest
得到结果:
可以看到需要处理一些依赖包的漏洞问题,于是输入npm audit fix来尝试修复这些漏洞。
得的结果:
漏洞数有所减少,但不能全部解决。
(3)这时进行下一步:右键云函数,选择 “上传并部署:云端安装依赖” 。
此时,应用程序应该能够正常使用 wx-server-sdk 功能。可以在云开发控制台查看云函数是否调用成功。