有一个同名的问题,安装 Lua 模块以供 LuaLaTeX 使用,显然没有得到解决。我遇到了类似的问题,目前我已经没有主意了。
我正在运行 Debian Testing,并通过包管理器安装了 lua 的 xmlrpc 库。文件安装在
/usr/share/lua/5.1/xmlrpc
/usr/share/lua/5.1/xmlrpc/http.lua
/usr/share/lua/5.1/xmlrpc/init.lua
/usr/share/lua/5.1/xmlrpc/server.lua
并且系统的 lua 安装可以正常找到它。
我已经确定package.path
系统的lua安装和luatex之间的参数有所不同。系统:
mpalmer@holzkopf:~$ lua
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
> print(package.path)
./?.lua;/usr/local/share/lua/5.1/?.lua;/usr/local/share/lua/5.1/?/init.lua;/usr/local/lib/lua/5.1/?.lua;/usr/local/lib/lua/5.1/?/init.lua;/usr/share/lua/5.1/?.lua;/usr/share/lua/5.1/?/init.lua
>
在 luatex 中,/usr/share/lua
路径中缺少 和 子目录。当我将LUA_PATH
环境变量设置为系统路径时,/usr/share/lua
luatex 中的 和 子目录也会显示出来package.path
,但xmlrpc
仍然找不到模块。我还尝试创建/usr/local/share/lua
的符号链接(实际上并不存在)/usr/share/lua
,但同样没有成功。
另一方面,luatex 没有给我一个错误,所以大概成功了,require "socket.http"
该模块存在于 中,/usr/share/lua/5.1/socket/http.lua
即使 既不/usr/share/lua
是符号链接也不是 ,也可以找到它package.path
。因此,它几乎似乎package.path
被 luatex 完全忽略了。
有谁知道我在这里遗漏了什么?