1、简介
该软件包可以安装和更新lua的第三方模块。
2、下载地址
请在 http://luarocks.org/releases/ 页面选择需要的软件包。
wget http://luarocks.org/releases/luarocks-2.1.0.tar.gz
3、安装
tar -zxvf luarocks-2.1.0.tar.gz
cd luarocks-2.1.0
./configure --prefix=/usr/local/luarocks
make build
make install
OK了,luarock的可执行文件被安装到了 /usr/local/luarocks/bin/luarocks.
4、使用(暂时把英文直接copy过来,有时间再翻译)
使用luarocks安装lua模块的示例:
luarocks install luasocket
luarocks install luasql-sqlite3
luarocks install lpeg
luarocks install lzlib
luarocks install luafilesystem
luarocks install luasec
luarocks install md5
luarocks install luacurl
luarocks install luasql-mysql MYSQL_INCDIR=/usr/include/mysql MYSQL_LIBDIR=/usr/lib64/mysql/ (mysql的各种路径自己locate去找吧 = = !)
luarocks install lua-cjson
1.模块安装后如果在程序require的时候提示找不到相应模块则可以在luarocks和lua之间做一个软链接:
例如安装完luasql-mysql之后可能在程序中require的时候会提示找不到模块,这时候我们可以:
cd /usr/local/lib/lua/5.1/
mkdir luasql
ln -s /usr/local/luarocks/lib/lua/5.1/luasql/mysql.so /usr/local/lib/lua/5.1/luasql/mysql.so
2.运行时提示attempt to index global 'luasql' (a nil value) 代码里面require "luasql.mysql"需要这样写
luasql = require "luasql.mysql"
Usage
luarocks [--server=server | --only-server=server] [--tree=tree] [--only-sources=url] [--deps-mode=mode] [VAR=VALUE]...command [argument]
Variables from the "variables" table of the configuration file can be overriden with VAR=VALUE assignments.
--server=server | Fetch rocks/rockspecs from this server (takes priority over config file) |
--only-server=server | Fetch rocks/rockspecs from this server only (overrides any entries in the config file) |
--only-sources=url | Restrict downloads of sources to URLs starting with the given URL. For example, --only-sources=http://luarocks.org will allow LuaRocks to download sources only if the URL given in the rockspec starts with http://luarocks.org . |
--tree=tree | Which tree to operate on. |
--deps-mode=mode | Select dependencies mode: How to handle the list of rocks servers given in the rocks_servers array in theconfig file.
|
Supported commands
build | Build/compile and install a rock. |
download | Download a specific rock or rockspec file from a rocks server. |
help | Help on commands. |
install | Install a rock. |
list | Lists currently installed rocks. |
make | Compile package in current directory using a rockspec and install it. |
pack | Create a rock, packing sources or binaries. |
path | Return the currently configured package path. |
remove | Uninstall a rock. |
search | Query the LuaRocks repositories. |
show | Shows information about an installed rock. |
unpack | Unpack the contents of a rock. |
Overview of the difference between "make", "build", "install" and "pack"
luarocks install modulename | downloads a binary .rock file and installs it to the local tree (falls back to "luarocks build modulename" behavior if a binary rock is not found) |
luarocks build modulename | downloads a .src.rock or a rockspec and builds+installs it to the local tree. |
luarocks build modulename-1.0-1.linux-x86.rock | extracts the rockspec from the rock and builds it as if the rockspec was passed in the command-line (i.e., redownloading sources and recompiling C modules if any). |
luarocks build modulename-1.0-1.rockspec | builds+installs the rock using the given rockspec downloading the sources |
luarocks make modulename-1.0-1.rockspec | builds+installs the rock using the rockspec using the contents of your current directory (kind of like the way make uses a Makefile) instead of downloading sources |
luarocks pack modulename | grabs the rock from your local tree and packs it into a binary .rock file |
luarocks pack modulename-1.0-1.rockspec | downloads the sources from the url and packs it into a .src.rock file |