Sublime Text 格式化Lua错误。

我正在尝试使用我安装在Sublime Text 3中的FormatLua软件包格式化代码。

然而,当我尝试使用它时,我收到以下错误...

/usr/local/bin/lua: ./metalua/compiler.lua:119:
./metalua/compiler/bytecode/lopcodes.lua:284: attempt to call field
'gfind' (a nil value) stack traceback:
    [C]: in function 'error'
    ./metalua/compiler.lua:119: in function 'get_bytecode_compiler'
    ./metalua/compiler.lua:125: in function 'f'
    ./metalua/compiler.lua:153: in function <./metalua/compiler.lua:150>
    (...tail calls...)
    [C]: in function 'require'
    formatter.lua:24: in main chunk
    [C]: in ?

有人知道我必须怎么做才能解决这个问题吗?我必须缺少一些文件-我看到gfind为nil(在5.0之后删除了这个),但是我不想在我确信我知道自己在做什么之前就去深入研究任何东西。谢谢!

点赞
用户1442917
用户1442917

是的,gfind 已被弃用。你可以用 string.gmatch 替换 string.gfind。我出于相同的原因应用了类似的更改;这里是 提交记录

2015-03-27 19:04:00
用户4527548
用户4527548

下降 lua 版本至 5.1.4 后能正常工作。

从源代码编译:

Lua 5.1.4 下载地址:http://www.lua.org/ftp/lua-5.1.4.tar.gz

打开 Terminal.app

wget http://www.lua.org/ftp/lua-5.1.4.tar.gz
tar xvzf lua-5.1.4.tar.gz
cd lua-5.1.4
make macosx
make install
2017-03-26 06:33:58