我试图在Windows 10上使用带有Sublime Text 3的Lua。当我尝试构建和运行脚本时,出现以下错误:
lua:无法打开C:\ Program Files(x86)\ Lua \ 5.1:权限被拒绝
我已经为文件夹添加了完全权限。
我仅尝试运行简单的打印语句:
print("hello")
预期结果是在结果窗口中输出hello
。
答案 0 :(得分:0)
Sublime附带的用于执行Lua程序的构建系统如下所示:
{
"cmd": ["lua", "$file"],
"file_regex": "^(?:lua:)?[\t ](...*?):([0-9]*):?([0-9]*)",
"selector": "source.lua"
}
此处的重要方面是要执行的命令是lua
,其第一个参数是当前文件的名称。从您看到的错误消息中,Lua似乎正在尝试执行目录而不是程序名称。或者,如果您愿意,如果这是目录权限问题,我希望它能告诉您它无法访问的文件名,而不是文件所在的文件夹。
还怀疑文件夹的名称是lua
本身的安装位置,并且错误消息似乎表明它是lua
本身产生的错误。
基于所有这些,我猜测您在执行命令之前没有保存Lua脚本。这将导致$file
扩展为空字符串,从而使第一个参数为空。由于构建使用的是cmd
,因此在内部专门要求Windows运行一个名为lua
的程序,该程序的第一个参数为空字符串。
似乎解释器首先尝试将当前工作目录放到文件名上然后执行它,并且由于文件名为空,因此最终试图执行目录,这是权限问题的来源。
第一次保存文件并命名后,只要选中Tools > Save all on build
,Sublime就会在每次运行构建时自动重新保存文件;不过,该选项不会提示您保存尚未命名的全新文件。