Lua:模块&x27;castl.runtime';找不到
我是卢阿的新手。我使用以下方法将JS文件编译为lua 5.2: 这创建了一个名为script.js.lua的文件。这是我的新lua文件的第一行:Lua:模块&x27;castl.runtime';找不到,lua,dependencies,castl,Lua,Dependencies,Castl,我是卢阿的新手。我使用以下方法将JS文件编译为lua 5.2: 这创建了一个名为script.js.lua的文件。这是我的新lua文件的第一行: local _ENV = require("castl.runtime"); 我尝试使用lua52 script.js.lua运行该文件,但出现以下错误: C:\Program Files\lua-5.2.4_Win64_bin\lua52.exe: script.js.lua:1: module 'castl.runtime' not found:
local _ENV = require("castl.runtime");
我尝试使用lua52 script.js.lua运行该文件,但出现以下错误:
C:\Program Files\lua-5.2.4_Win64_bin\lua52.exe: script.js.lua:1: module 'castl.runtime' not found:
no field package.preload['castl.runtime']
no file 'C:\Program Files\lua-5.2.4_Win64_bin\lua\castl\runtime.lua'
no file 'C:\Program Files\lua-5.2.4_Win64_bin\lua\castl\runtime\init.lua'
no file 'C:\Program Files\lua-5.2.4_Win64_bin\castl\runtime.lua'
no file 'C:\Program Files\lua-5.2.4_Win64_bin\castl\runtime\init.lua'
no file '.\castl\runtime.lua'
no file 'C:\Program Files\lua-5.2.4_Win64_bin\castl\runtime.dll'
no file 'C:\Program Files\lua-5.2.4_Win64_bin\loadall.dll'
no file '.\castl\runtime.dll'
no file 'C:\Program Files\lua-5.2.4_Win64_bin\castl\runtime52.dll'
no file '.\castl\runtime52.dll'
no file 'C:\Program Files\lua-5.2.4_Win64_bin\castl.dll'
no file 'C:\Program Files\lua-5.2.4_Win64_bin\loadall.dll'
no file '.\castl.dll'
no file 'C:\Program Files\lua-5.2.4_Win64_bin\castl52.dll'
no file '.\castl52.dll'
stack traceback:
[C]: in function 'require'
script.js.lua:1: in main chunk
[C]: in ?
我错过了什么?我使用的是Windows 10。来回答您的问题
我错过了什么
您的问题是您使用了一个函数require
,但您不知道该函数的作用。因此,您无法理解当它未能完成您期望它完成的任务时所抛出的错误
因此,首先请参阅Lua手册:
你会发现:
require
使用存储在中的路径搜索Lua加载程序
package.path。如果同样失败,它将使用
路径存储在package.cpath中。如果同样失败,它将尝试
一体式加载器(请参阅package.searchers)
及
require用于搜索Lua加载程序的路径
启动时,Lua使用
环境变量LUA\u PATH\u 5\u 3
或环境变量LUA\u PATH
或者使用luaconf.h中定义的默认路径,如果这些环境
未定义变量。任何环境值中的代码>
变量将替换为默认路径
补充阅读:
在任何网络搜索中输入“Lua require”也将为您的问题提供大量解决方案
正如hjpotter92在其评论中所述,除非文件已经位于默认文件夹中,否则您必须告诉计算机在何处查找您需要的文件。
在调用相应的require之前,将文件的位置添加到您的LUA\u PATH
环境变量中,或者将其添加到package.PATH
字符串中。我会在这里留下答案,因为我相信提供的答案实际上对不了解LUA生态系统的人没有帮助
为了解决要求(“castl.runtime”)
的问题,需要设置LUA_路径
,在这种情况下,为了简单起见,假设castl
发行版位于/Users/me/castl
,那么您可以:
export LUA_PATH="/Users/me/castl/lua/?.lua"
现在,如果您运行Lua脚本,它将被正确执行 来自文档:一个Lua运行库(位于Lua/castl/
),它允许执行由castl.js
编译的代码。向环境的LUA_路径添加相同的变量,它应该会起作用。我可能只是没有正确理解您的说明,但我尝试在名为LUA_路径
的环境变量对话框中添加一个新的用户变量,设置为%USERPROFILE%\Desktop\repos\clones\castl\LUA\castl
。在此之后,我得到了相同的错误,除了错误只列出了.dll
文件的“无文件”条目(不再有.lua
文件)。因此,注意到没有环境变量lua正在C:\Program files\ua-5.2.4\U Win64\U bin\lua\castl\
中搜索runtime.lua
文件,我将castlrepo中的lua
文件夹复制到该位置(C:\ProgramFiles\lua-5.2.4\u Win64\u bin\
)。这似乎把我从这个错误转移到了另一个错误上……很抱歉,在Stackoverflow回答问题时,“在任何web搜索中输入”Lua require“不是一个好建议-这里的答案在某种程度上应该是自给自足的。@shabunc我的答案是自给自足的。你显然没读过。我详细地解释了是什么导致了他的问题,以及他如何解决这个问题。我甚至列举了几个参考资料。我甚至还解释了如何在不被别人利用的情况下获得这些信息。
export LUA_PATH="/Users/me/castl/lua/?.lua"