【问题标题】:How to run deno compiled executable on a mac?如何在 Mac 上运行 deno 编译的可执行文件?
【发布时间】:2021-03-19 22:09:36
【问题描述】:

我能够使用 Deno 从 Windows 10 创建 PC 和 Mac 可执行文件就好了:

"deno.exe" compile --unstable --allow-all --target x86_64-pc-windows-msvc --output myapp_x86pc myapp.js  

"deno.exe" compile --unstable --allow-all --target x86_64-apple-darwin --output myapp_x86mac myapp.js  

"deno.exe" compile --unstable --allow-all --target aarch64-apple-darwin --output myapp_aarchmac myapp.js  

但是如何在 Mac 上实际测试和运行生成的二进制文件?该文件是否需要特定的扩展名,或者是否需要以某种方式打包或签名才能运行?

尝试通过 finder 运行 myapp_x86mac 会导致出现关于未知开发人员 ID 的对话框,我似乎可以添加一个安全异常,但它仍然无法运行。尝试从终端运行它只会导致 zsh: Permission denied。

是否有可能在没有完整的 Apple 开发环境的情况下创建一个可以工作的 Deno OSX 可执行文件?就此而言,我没有 Mac 或 Apple ID,需要借用 Mac 进行测试,所以我不能对这台机器搞太多。我只想要一些易于在各种机器上分发和运行的东西,但对于有限的受众,所以我想避免完整的 Apple Store 发布“体验”。

【问题讨论】:

  • 文件可能需要添加执行权限 (chmod +x /path/to/binary) 和/或删除隔离限制 (xattr -d com.apple.quarantine /path/to/binary)。运行ls -leO@ /path/to/binary 将为您提供有关其权限和属性的更多信息。您可以通过搜索Ask Different 以及 Stackexchange 找到有关 macOS 应用程序安全性的更多信息。
  • @GordonDavisson 谢谢,执行权限位听起来可能是潜在的罪魁祸首。自从我搞乱 linux 类型的系统以来已经有几年了,所以我没有考虑过。我试图探索 mac 文件属性 UI 和那里的权限,但这似乎更像 ACL,并且只有读/写控制。一旦我可以再次借用 Mac,我会尝试 chmod/xattr 方法:)
  • Finder 的信息窗口提供了文件权限的简化视图,只是省略了大多数标志和 xattrs 等内容; ls -leO@ 提供了更完整的图片。
  • @GordonDavisson 你说得对,问题很简单,需要用chmod +x 设置执行权限!

标签: macos deno


【解决方案1】:

截至目前,没有。您需要安装XCODE或至少安装XCODE命令行工具。

【讨论】:

  • 我用chmod +x 解决了这个问题,不需要XCODE。
  • 有趣。我直接从 Discord 聊天中的开发人员那里得到了这个答案。
猜你喜欢
  • 2016-09-10
  • 2011-04-17
  • 1970-01-01
  • 2015-02-20
  • 2022-01-14
  • 2020-07-04
  • 2012-02-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多