Chrome 本机消息传递主机无法在 macOS Sierra 上启动

Chrome Native messaging host won't start on macOS Sierra

我使用 Packages 应用程序来安装应用程序和 运行 post 配置本机消息传递主机的安装脚本。我需要管理员权限才能安装。我在 macOS Sierra(也许还有 High Sierra)上有 2 个主要问题。

本机消息传递主机是一个 python3 脚本,我在 post 安装脚本上 运行 command -v python3 检查是否安装了 python3,如果不是,脚本将退出并出错。

当我 运行 macOS 10.15 (Catalina) 上的安装程序时,一切正常(因为 Catalina 附带 python3)。我已经在两台机器上再次安装了官方 python3 pkg 和 运行 安装程序,一台在 Catalina 上,所以没问题,另一台在 Sierra 上,尽管命令 command -v python3 总是失败它 运行 完全来自终端。

我现在使用 ls /usr/bin/python3(Catalina 的 python3)或 ls /usr/local/bin/python3(官方的 python3)在 2 个路径中检查 python3,它在塞拉利昂和卡特琳娜。

另一个问题,仅在 Sierra 上,我一直收到错误 Unchecked runtime.lastError: Native host has exited. 所以我尝试 运行 Chrome 调试以查看发生了什么,我惊讶地发现该消息已消失,但如果我单击打开该应用程序,我会不断收到消息,如果我只是从终端 运行 open ,它也可以工作(请记住,一切都在 Catalina 上完美运行)。我已经尝试了我能想到的一切,我仍然不明白发生了什么。我已经在其他 2 个 VM Sierra 上重现了这个问题。

nmh 脚本的权限-rwxr-xr-x

将提供您需要的任何代码。

更新

看到我的回答,我会留下这个问题,因为我很好奇我在 Catalina 和 Sierra 上有不同行为的原因

在 Sierra Chrome 上似乎无法解释 shebang #!/usr/bin/env python3。我在找到正确的 python 3 路径后使用 sed 解决了它。