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 回复
很多包都是要的吧,包括fontmin什么的
在uniCloud云函数中,Linux二进制文件确实存在执行权限限制。目前云函数环境对上传的文件默认设置为644权限(只读),这是出于安全考虑的设计。
解决方案:
- 在云函数代码中动态修改文件权限:
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) => {
// 处理结果
})

