我使用Busted框架来测试我的lua程序。我有最新的破坏版本
user ~ $ busted --version
2.0.rc12-0
我运行这个程序(它叫做etl)
goto statement
::statement::
error loading module 'etl' from file './etl.lua':
./etl.lua:6: '=' expected near 'statement'
编辑:我很确定被破坏的是引用lua 5.1或5.2,但我的系统上只有lua 5.3.3。那么如何才能认识到5.3.3?
证明我的系统上只有lua 5.3.3
me ~ $ luaver list
==> Installed versions:
==> lua-5.3.3
更新:我有一些隐藏在另一个文件夹中的不同版本的lua,而luaver并不认识。我删除了那些,然后每次我试图运行它时就把它给了我:
/usr/local/bin/busted: 3: exec: /usr/bin/lua5.1: not found
然后我去了/ usr / local / bin / busted中的被破坏文件,就像这样
#!/bin/sh
exec '/usr/bin/lua5.1' -e 'package.path="/home/sam/.luarocks/share/lua/5.1/?.lua;/home/sam/.luarocks/share/lua/5.1/?/init.lua;/usr/local/share/lua/5.1/?.lua;/usr/local/share/lua/5.1/?/init.lua;"..package.path; package.cpath="/home/sam/.luarocks/lib/lua/5.1/?.so;/usr/local/lib/lua/5.1/?.so;"..package.cpath' -e 'local k,l,_=pcall(require,"luarocks.loader") _=k and l.add_context("busted","2.0.rc12-1")' '/usr/local/lib/luarocks/rocks/busted/2.0.rc12-1/bin/busted' "$@"
所以我需要把所有的东西改成lua5.3。我的lua 5.3在/ usr / local / bin中。 我是否只是接受该文件并开始删除5.1内容并将其替换为5.3内容?