在OSX上,Lua 5.3出现Moonscript CLI启动错误



我在OS X 10.11.1上运行最新版本的X Code。我今天从源代码安装了Lua 5.3,没有任何问题。似乎工作正常。没有错误安装luarocks,然后使用它安装moonscript。然而,moon和moonc在从命令行调用时都会出现以下错误:

$ moon
/usr/local/bin/lua: /usr/local/share/lua/5.3/alt_getopt.lua:24: attempt to call a nil value (global 'module')
stack traceback:
    /usr/local/share/lua/5.3/alt_getopt.lua:24: in main chunk
    [C]: in function 'require'
    /usr/local/lib/luarocks/rocks/moonscript/0.4.0-1/bin/moon:2: in main chunk
    [C]: in ?

查看alt_getopt.lua可以发现它确实在使用现已失效的"module"关键字。该模块的GitHub项目在过去3年中似乎已经夭折,没有采取任何行动。

我应该如何让Moonscript在我的系统上运行?

是的,正如您所指出的,module已经被弃用了很长一段时间,并且由于兼容性开关的原因,它只能与早期版本一起使用。

您可以注释掉alt getopt中的第24行,并将以下行添加到alt-getopt.lua文件的末尾:return {get_opts = get_opts, get_ordered_opts = get_ordered_opts}

这应该使这个模块Lua 5.2/5.3兼容(不过我还没有检查使用Lua 5.3是否有任何其他兼容性问题)。

相关内容

  • 没有找到相关文章

最新更新