s***@hotmail.com
s***@hotmail.com
  • 发布:2022-07-22 21:36
  • 更新:2022-07-22 21:36
  • 阅读:718

【报Bug】云函数上传失败,怀疑是依赖的问题,env: node: No such file or directory

分类:HBuilderX

产品分类: HbuilderX

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: macos 11.6.5

HBuilderX版本号: 3.4.18

示例代码:

以下是日志:


2022-07-22 21:21:27.648 [WARNING:] [Expression]  "Unsupport Expr : unicloud.canShowClientDBActionDeleteFiles"  
2022-07-22 21:21:27.650 [WARNING:] [MENU] !!!Can't find the action id: "-unicloud.newFuncsInitJson"  
2022-07-22 21:21:30.058 [WARNING:] QString::arg: Argument missing: "云端已经存在以下公共模块,是否替换?" , 4  
2022-07-22 21:21:34.180 [INFO:] attachment path:  "/Users/sunlice/Documents/HBuilderProjects/vk-unicloud-router/uniCloud-aliyun/cloudfunctions/router"   

2022-07-22 21:21:34.181 [INFO:] check index.js completed.  
2022-07-22 21:21:34.181 [INFO:] check dependencies whether in common dir  
2022-07-22 21:21:34.181 [INFO:] message:  ""   

2022-07-22 21:21:34.181 [INFO:] message:  ""  
2022-07-22 21:21:34.182 [INFO:] local dependencies size:  4   

2022-07-22 21:21:34.182 [INFO:] upload cloud function temp dir:  "/private/var/folders/r7/xb477x114qjffckj0nd114zh0000gn/T/HBuilder X-ogHGfl"   

2022-07-22 21:21:34.235 [INFO:] copy files in upload cloud function process   

2022-07-22 21:21:34.235 [INFO:] npm install in upload function process   

2022-07-22 21:21:34.624 [INFO:] error:  "未知的错误"  
2022-07-22 21:21:34.624 [INFO:] standard output:  ""  
2022-07-22 21:21:34.625 [INFO:] standard error:  "env: node: No such file or directory\n"  
2022-07-22 21:21:34.625 [INFO:] output:  ""  
2022-07-22 21:21:34.625 [INFO:] compress dir with dependencies:  "" to: "/private/var/folders/r7/xb477x114qjffckj0nd114zh0000gn/T/router.zip"   

2022-07-22 21:21:34.647 [INFO:] cloud function attachment:  "/private/var/folders/r7/xb477x114qjffckj0nd114zh0000gn/T/router.zip"   

2022-07-22 21:21:34.647 [INFO:] cloud function attachment variant:  QVariant(QUrl, QUrl("file:///private/var/folders/r7/xb477x114qjffckj0nd114zh0000gn/T/router.zip")) ```

操作步骤:

无论是下载uni-starter, 还是新建一个云开发的应用,在上传云函数的时候均出现BUG描述中的现象

预期结果:

正常上传云函数并部署

实际结果:

env: node: No such file or directory  
。```

bug描述:

直接下载,vk-unicloud-router , 按照教程部署,直接就就提示

21:21:34.180 [阿里云:xxxxxx]正在上传云函数router...  
21:21:34.648 [阿里云:xxxxx]云函数router上传失败。失败原因:npm install执行失败.如果云函数目录下存在package-lock.json, node_modules可能会导致 npm install失败, 请删除后重试.  
env: node: No such file or directory

经过分析,这里的 node: No such file or directory 并不是指 node 没有正确安装,而是指上传的云函数的 依赖没有找到,而在云函数的package.json 中有 "dependencies": { "uni-config-center": "file:../../../uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center", "uni-id": "file:../../../uni_modules/uni-id/uniCloud/cloudfunctions/common/uni-id", "uni-pay": "file:../../../uni_modules/uni-pay/uniCloud/cloudfunctions/common/uni-pay", "vk-unicloud": "file:../../../uni_modules/vk-unicloud/uniCloud/cloudfunctions/common/vk-unicloud" }, 这样的依赖关系,如果删除这些依赖,那么是可以正常上传的。所以问题在于这些依赖上。这些依赖用file协议,并且相对位置的层级太多,或者是 npm 运行的时候,读到package.json文件,没有正确解析相对地址,导致找不到 依赖的问题。

2022-07-22 21:36 负责人:无 分享
已邀请:

该问题目前已经被锁定, 无法添加新回复