【发布时间】:2011-04-06 20:04:23
【问题描述】:
有人可以列出我需要采取的步骤,以便将 lua 文件 (theclass.lua) 放在我的系统上的某个位置,以便我可以这样做:
require 'theclass'
并且编译器会找到它而不必将类复制到每个目录中?
【问题讨论】:
有人可以列出我需要采取的步骤,以便将 lua 文件 (theclass.lua) 放在我的系统上的某个位置,以便我可以这样做:
require 'theclass'
并且编译器会找到它而不必将类复制到每个目录中?
【问题讨论】:
如果您收到错误消息,您可以放置它的位置列表:
~ e$ lua
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
> require 'theclass'
stdin:1: module 'theclass' not found:
no field package.preload['theclass']
no file './theclass.lua'
no file '/usr/local/share/lua/5.1/theclass.lua'
no file '/usr/local/share/lua/5.1/theclass/init.lua'
no file '/usr/local/lib/lua/5.1/theclass.lua'
no file '/usr/local/lib/lua/5.1/theclass/init.lua'
no file './theclass.so'
no file '/usr/local/lib/lua/5.1/theclass.so'
no file '/usr/local/lib/lua/5.1/loadall.so'
stack traceback:
[C]: in function 'require'
stdin:1: in main chunk
[C]: ?
>
Lua 至少查询三个位置来搜索要搜索的目录列表:
配置头中的CLUA_PATH
Lua 全局 LUA_PATH
环境变量LUA_PATH
见PiL
【讨论】:
package.path,如果设置了它的默认值来自环境变量LUA_PATH。 Lua 从不查看全局变量LUA_PATH。
LUA_PATH。将lua.org/source/5.0/src_lib_lbaselib.c.html#getpath 与lua.org/source/5.1/loadlib.c.html#setpath 进行比较。