今天突然云函数炸裂了,总是报告【Environment not found】什么什么的。查了半天,最后发现,应该是`2.5.2`这个版本的wx-server-sdk有问题。回滚写死到`2.5.1`,一切安好。
重现:
- 创建简单云函数
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
// 云函数入口函数
exports.main = async (event, context) => {
const { ENV, OPENID, APPID } = cloud.getWXContext()
// 如果云函数所在环境为 abc,则下面的调用就会请求到 abc 环境的数据库
const dbResult = await cloud.database().collection('user').get()
return {
dbResult,
ENV,
OPENID,
APPID,
}
}
- 确认wx-server-sdk版本未2.5.2
{
"name": "hello-jeff",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"wx-server-sdk": "2.5.2" <---- 看这里哦
}
}
- 上传,跑一下,譬如【云端调试】,会报错
- 修改版本未2.5.1,重新上传部署,再跑,就正常了(当然你得有user这个collection)