V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
83f420984
V2EX  ›  问与答

Electron 安装路径含空格导致二进制文件执行错误?

  •  
  •   83f420984 · 71 天前 · 746 次点击
    这是一个创建于 71 天前的主题,其中的信息可能已经有所发展或是发生改变。

    程序安装到 C:\Program Files 中后,在 Electron 环境中运行 FFmpeg 时会报找不到 FFmpeg 。

    如果改成 C:\ProgramFiles 后就没任何问题。

    获取 FFmpeg 路径代码如下:

      if (app.isPackaged) {
        return path.join(process.resourcesPath, 'binaries', 'ffmpeg.exe');
      }
    

    用 AI 问了一圈,没找到解决办法

    4 条回复    2024-10-17 09:25:26 +08:00
    ysc3839
        1
    ysc3839  
       71 天前   ❤️ 1
    问题不在这,在执行那里
    Atma
        2
    Atma  
       71 天前 via Android   ❤️ 1
    执行 cmd 命令那边要把 ffmpegpath 引号括起来
    jim9606
        3
    jim9606  
       71 天前   ❤️ 1
    可能需要在执行的时候用引号把路径包起来。
    据我所知,python 的 subproccess.run 虽然支持传递字符串数组,但只在 posix 类系统下才会原样传递给 exec 系统调用,而在 windows 下就是拼接字符串,因此需要加引号及进行转义。估计 electron 也有这个问题。
    83f420984
        4
    83f420984  
    OP
       70 天前
    @Atma
    @jim9606
    确实是这个问题,谢谢 🙏
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2988 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 00:35 · PVG 08:35 · LAX 16:35 · JFK 19:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.