如何在 Mac 上安装 luac.cross?

NodeMCU 文档 表示

NodeMCU 固件构建现在自动在固件根目录中生成一个 luac.cross 镜像, 可用于在开发计算机上编译和语法检查 Lua 源代码,以在 ESP8266 上执行 NodeMCU Lua。

我应该从哪里获取 luac.cross 并如何安装它?

我是否应该在 Mac 上从源代码构建 NodeMCU 固件,并且是否会在此过程中创建 luac.cross?我一直在使用云服务来创建自定义固件。通过云构建获取 luac.cross 可行吗?

纯 Lua 代码已经使 MakerFocus NodeMCU 板不堪重负,导致运行时内存不足。希望编译的代码可以减少 RAM 的需求。

点赞
用户131929
用户131929

从哪里获得 luac.cross,并且如何安装它?

您在发布的文档引用中给出了答案。特别是这个:

NodeMCU固件生成现在自动生成了一个luac.cross镜像

因此,如果您在平台上手动构建NodeMCU®,则构建过程还将为您的平台创建一个lua.cross。这就是您无法下载或安装lua.cross的原因-它必须适合您的平台,即操作系统等。

那么逻辑上的下一个问题是什么:如何在macOS上手动构建NodeMCU?

我不知道答案,因为我使用我的Docker映像(出自您的真诚)在macOS上构建。运行Docker构建会在固件根目录中创建一个luac.cross。但是,由于macOS在这种设置中仅是Docker的主机OS,因此luac.cross_是针对Linux_而不是针对macOS本地的。要使用它,您将再次启动Docker容器并在其中运行bash,以便获取一个shell来执行Lua交叉编译:docker run --rm -ti -v pwd / opt / nodemcu固件marcelstoer / nodemcu-build bash

纯粹的Lua代码已经压倒了MakerFocus NodeMCU板,导致运行时恐慌和内存不足问题。希望编译代码将减少RAM需求。

我不想幻灭您,但如果我必须打赌,我预计节省不足以产生预期的结果。由于您已经开始阅读文档,因此我希望将您指向相关FAQ:NodeMCU Lua与标准Lua有何不同?以及减少RAM的技术

也许使用LFS将成为您的救星。

2019-02-23 20:34:46
用户7378594
用户7378594

如果您想要忽略平台并使用此工具 - 您可以使用我的 API 来构建它:

curl -d @yourscript.lua -X POST https://nodemcu-luacross-run-64l7ehzjta-uc.a.run.app/compile > output.luac
2019-10-27 10:21:41