**创建定制版本的Luarocks的步骤**

我需要定制一个Luarocks库。

假设我使用以下命令进行安装:

sudo luarocks install lua-abc

如果我想要自己的内部定制版本的该库,我该如何在我的openresty服务器上添加?

Luarocks是否只是从Github下载代码,然后将其保存到特定文件夹中?(如果是,那么是哪个文件夹?)

点赞
用户10279509
用户10279509

根据情况而定,如果软件包包含形式为 C 库的外部依赖项,则会下载文件并进行编译,然后将其复制到默认路径中。 通常默认的路径有:

  • 外部 C 库 /usr/local/lib/lua/5.*
  • /usr/local/share/lua/5.*

luarocks 下载到 /usr/local/lib/luarocks/rocks/

2018-09-10 09:36:23
用户2262111
用户2262111

LuaRocks在使用自己的可执行文件名和编译器CC时有些靠运气。有些依赖项如cmake是必要的,以使LuaRocks下载C和C++源代码并编译成共享库,例如LuaSocket将生成一个文件core.so,其中require将执行luaopen_libluasocket(lua_State * L);函数,该函数位于.so文件中。

为了让我能够在LuaConsole(我替换了lua.c并很快要替换luac.c的CLI应用程序)中使用LuaRocks,我不得不修改安装后的实际文件。这是链接:https://github.com/tilkinsc/LuaConsole/wiki/LuaRocks-Support-Linux-GCC

基本上要点是:LuaRocks默认情况下针对开发人员而非普通用户。因此,请继续运行您的./configure,我不确定它是否支持--prefix=XXX,但您需要编辑site_config_x_x.lua文件以添加site_config.LUA_INTERPRETER=[[luaw]] -- lua解释器名称,并将luarocks shell脚本内的解释器调用实际切换。那个特定的部分在此处有更好的解释:https://github.com/tilkinsc/LuaConsole/wiki/LuaRocks-Support-Windows-MinGW。在那里,我简单地使用了"luaw" "C:\Program Files (x86)\LuaRocks\luarocks.lua" "-n" %*代替他们的命令...而\*则是所有参数的别称,即传递所有参数。

然后,在完成所有这些工作之后,你需要设置LUA_CPATH和LUA_PATH来搜索你的文件。这取决于安装情况,但一个查找的命令是luarocks path --bin,它会将其转储出来。如果您希望,可以将其添加到LUA_INIT环境变量中,但我在Windows上使用自己动态设置路径变量的方式:https://gist.github.com/tilkinsc/f6718ca61d76085b064c3dca02f96017。或者,您可以自己设置package.path和package.cpath...但我不建议这样做。

一旦让它正常工作,LuaRocks就很棒 :D

2018-09-11 00:48:36
用户3061258
用户3061258

安装必要的构建工具

sudo apt-get install build-essential
cd /usr/local/src/

此处浏览下载所需版本

tar -xvf luarocks-3.2.1.tar.gz
cd luarocks-3.2.1

./configure
make build
sudo make install
2019-11-21 17:16:31