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.
- one - Consider only the tree at the top of the list (possibly, the one given by the --tree flag, overriding all entries from rocks_trees), ignore all others
- all - Consider all trees: if a dependency is installed in any tree of the rocks_trees list, we have a positive match.
- order - Consider only trees starting from the "current" one in the order, where the "current" is either:
- the one at the bottom of the rocks_trees list,
- or one explicitly given with --tree
- or the "home" tree if --local was given or local_by_default=true is configured (usually at the top of the list)
|
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 |
Lua 的詳細介紹:請點這裡
Lua 的:請點這裡
推薦閱讀:
Lua 語言 15 分鐘快速入門
Lua程式設計(第2版)中文 PDF
Lua程式設計(第二版)閱讀筆記
NetBSD 將支援用 Lua 指令碼開發核心組件
CentOS 編譯安裝 Lua LuaSocket