Linux 安裝 luarocks(lua的模組管理工具)

來源:互聯網
上載者:User

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.