【发布时间】:2021-03-28 11:18:54
【问题描述】:
无论进程是否通过 Rosetta 运行,我都需要检索 Mac 的真实架构。
现在在 Node.js 中,process.arch 返回 x64,在 shell 中,uname -m 返回 x86_64。
【问题讨论】:
-
我的用例是通过自动更新发布应用程序的 arm 版本。还可以跟踪谁在运行模拟软件并将其与性能或其他问题联系起来。
-
应该可以检测到Rosetta 2的存在并假设arm。
-
this note 说明了一般如何做到这一点。不过,我怀疑是否已经为此编写了一个 Nodejs 模块。
-
谢谢!你知道是否有办法在 shell 脚本中做同样的事情吗? (如果您的终端应用程序在 x86 中运行,则 uname -m 将不会返回 arm)
-
编写一个可执行文件来进行实际检查。在脚本中,尝试执行二进制文件并检查其结果以及它是否无法实际执行。
标签: javascript node.js macos shell rosetta