小程序云开发提示云函数login未部署问题解决

现象:

以云开发小程序模板为例,点击获得openid时,报错: [login] 调用失败 Error: errCode: -404011 cloud function execution error | errMsg: cloud.callFunction:fail cloud function service error code -504002, error message Function not found: [login]; at cloud.callFunction api。

即:未能找到云函数。

重点看官方文档。

解决办法:

1.配置本地环境

云端运行环境为 Node.js,需要先在本地安装 Node.js 和 npm才能顺利测试。同时还要在云函数目录下安装 wx-server-sdk 依赖:
npm install --save wx-server-sdk
详细内容参见官方文档https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-server-api/

安装node.js 下载地址 https://nodejs.org/en/

测试安装是否成功
安装完成后打开cmd:
输入node -v 来测试 node.js
输入npm -v 来测试 npm

安装wx-server-sdk依赖。

在cmd中首先通过cd 云函数路径的命令,定位到云函数目录,这里要定位到某个具体的云函数文件夹内,如login函数则要定位到login文件夹内。然后再执行npm install --save wx-server-sdk命令,安装wx-server-sdk依赖。对于每一个你创建云函数都要安装该依赖。
如果在执行安装命令后出现类似错误提示:rollbackFailedOptional: verb npm-session ****************,这是由于npm官方库是国外的网站,在访问时可能由于网络原因导致异常。
解决方案:执行npm config set registry "http://registry.npm.taobao.org"命令,将官方库替换为淘宝库即可。
执行命令后可能会出现以下警告:

npm WARN **** No description
npm WARN **** No repository field

直接忽略即可,并不会影响后续的云函数功能。成功安装依赖后,相应的云函数文件夹将生成一个package-lock.json文件。

2.完成云端配置

在相应的云函数文件夹上右键,选择“上传并部署:所有文件”。

3.检查app.js中关于环境ID的配置,模板文件时缺省配置(首次创建的环境),如果目标环境不一致请人工设定一下ID。

猜你喜欢

转载自www.cnblogs.com/sinux/p/12112466.html