我需要自定义一个luarocks库。
说我使用以下方法安装它:
sudo luarocks install lua-abc
如果我要使用该库的内部自定义版本,如何将其添加到openresty服务器中?
luarocks是否只是从github下载代码,然后将其保存到特定文件夹? (如果是,是哪个文件夹?)
答案 0 :(得分:1)
这取决于包是否包含C库形式的任何外部依赖关系,然后下载文件并进行编译,然后复制到 default 路径中。 通常,默认路径为:
JsonJavaObject
/usr/local/lib/lua/5.*
岩石被下载到/usr/local/share/lua/5.*
答案 1 :(得分:1)
在使用您自己的可执行文件名称和编译器CC时,LuaRocks确实很灵活。当luaRocks下载C和C ++源代码以编译成共享库时,需要一些诸如cmake的依赖项,例如LuaSocket将生成文件core.so
,该文件将执行luaopen_libluasocket(lua_State* L);
函数,该函数驻留在.so文件。
为了让我将LuaRocks与LuaConsole结合使用(我的替代CLI应用程序用于lua.c,不久后将成为luac.c),我必须在安装后修改实际文件。这是链接:https://github.com/tilkinsc/LuaConsole/wiki/LuaRocks-Support-Linux-GCC
基本要点是:LuaRocks对于开发人员默认为用例,而不是一般的gi-joe。因此,继续运行您的./configure
,我不确定它是否支持--prefix=XXX
,但是随后您需要编辑site_config_x_x.lua
文件以添加到site_config.LUA_INTERPRETER=[[luaw]] -- name of lua interpreter
中,同时切换实际调用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 env var中,但是我在Windows上,可以通过以下方式动态设置自己的路径变量:https://gist.github.com/tilkinsc/f6718ca61d76085b064c3dca02f96017或者,您可以自己设置package.path和package.cpath ...但我不建议。
LuaRocks很棒,一旦您可以使用它:D
答案 2 :(得分:0)
sudo apt-get install build-essential
cd /usr/local/src/
从Browse Here下载所需的版本
tar -xvf luarocks-3.2.1.tar.gz
cd luarocks-3.2.1
./configure
make build
sudo make install