1***@qq.com
1***@qq.com
  • 发布:2021-09-13 16:46
  • 更新:2021-09-16 16:50
  • 阅读:305

云函数是不是不支持child_process.execFile

分类:uniCloud

使用node运行是对的,本地运行云函数就一直报错,说找不到执行的文件。

2021-09-13 16:46 负责人:无 分享
已邀请:
DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

你文件路径找错了

  • 1***@qq.com (作者)

    我使用绝对路径的话没提示错误,但是exe也没执行

    2021-09-15 13:27

  • DCloud_uniCloud_WYQ

    回复 1***@qq.com: 用path.resolve自己拼接路径,你怎么写的绝对路径??

    2021-09-16 14:17

  • 1***@qq.com (作者)

    回复 DCloud_uniCloud_WYQ: 是这样拼接的吗?path.resolve('mysql_action','mysql','DatabaseMigration.exe')返回 "F:\HBuilder X\Study\Cloud\DatabaseMigration\uniCloud-aliyun\cloudfunctions\mysql_action\mysql\DatabaseMigration.exe" 路径的对了,但是exe也没执行哈

    2021-09-16 16:18

  • DCloud_uniCloud_WYQ

    回复 1***@qq.com: 不是,path.resolve(__dirname, '文件相对路径') 另外你这个exe文件肯定是不能在云端运行的

    2021-09-16 16:21

  • 1***@qq.com (作者)

    回复 DCloud_uniCloud_WYQ: 还是没有执行exe...我把图片发下面,要不您看下哈

    2021-09-16 16:28

  • 1***@qq.com (作者)

    回复 DCloud_uniCloud_WYQ: 使用child_process.exec的话exe执行了,但是没有执行回调

    2021-09-16 16:49

1***@qq.com

1***@qq.com (作者) - 一个小菜鸟

  • DCloud_uniCloud_WYQ

    本地运行的话,云函数返回之后进程就被结束了,也就是你这个execFile刚开始执行进程就关闭了

    2021-09-16 16:47

  • DCloud_uniCloud_WYQ

    用execFileSync,或者将execFile封装成promise形式,使用await执行

    2021-09-16 16:47

  • 1***@qq.com (作者)

    回复 DCloud_uniCloud_WYQ: 哦哦,好的,谢谢

    2021-09-16 16:53

1***@qq.com

1***@qq.com (作者) - 一个小菜鸟


使用child_process.exec的话exe执行了,database就是exe生成的文件夹

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