uni-app 有函数要依赖linux二进制执行文件咋办

uni-app 有函数要依赖linux二进制执行文件咋办

开发环境 版本号 项目创建方式
uniCloud/App - -

操作步骤:

上传的linux二进制可执行文件
node 中 execfile方法 报权限错误

预期结果:

上传的linux二进制可执行文件可以在特定情况下可以执行

实际结果:

linux二进制可执行文件不可执行

bug描述:

上传的所有文件都是只读不可执行的
有函数要依赖linux二进制执行文件,有没有方法可以执行的?

以后有没有计划支持?如果不支持的话那么node的child_process类都不支持咯?


更多关于uni-app 有函数要依赖linux二进制执行文件咋办的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

用的什么npm包?

更多关于uni-app 有函数要依赖linux二进制执行文件咋办的实战教程也可以访问 https://www.itying.com/category-93-b0.html


很多包都是要的吧,包括fontmin什么的

在uniCloud云函数中,Linux二进制文件确实存在执行权限限制。目前云函数环境对上传的文件默认设置为644权限(只读),这是出于安全考虑的设计。

解决方案:

  1. 在云函数代码中动态修改文件权限:
const fs = require('fs')
const { execFile } = require('child_process')

// 上传时二进制文件路径
const binaryPath = 'path/to/your/binary'

// 执行前设置可执行权限
fs.chmodSync(binaryPath, 0o755)

// 然后执行
execFile(binaryPath, [args], (error, stdout, stderr) => {
  // 处理结果
})
回到顶部