Busted无法识别某些函数

我正在使用Busted框架测试我的lua程序。我有最新的busted版本

user ~ $ busted --version 2.0.rc12-0 我运行了这个程序(它叫做etl) goto语句 ::语句:: 从文件'./etl.lua'加载模块出错: ./etl.lua:6: 在'statement'附近需要'='

编辑:我很确定busted正在引用lua 5.1或5.2,但我系统中只有lua 5.3.3。那么我该如何让busted识别5.3.3?

证明我系统中只有lua 5.3.3:

me ~ $ luaver list ==> Installed versions: ==> lua-5.3.3

更新:我有一些不同版本的lua隐藏在另一个文件夹中,luaver没有识别出来。我删除了它们,然后每次尝试运行busted时都会得到这样的结果: /usr/local/bin/busted: 3: exec: /usr/bin/lua5.1: 没有那个文件或目录 然后我去了/usr/local/bin/busted中的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部分吗?

点赞