【Ubuntu】LuaRocksのインストールと使い方

【Ubuntu】LuaRocksのインストールと使い方 プログラミング

「Luaでパッケージ管理を行いたい」
「JSONが扱えるlua-cjsonをインストールしたい」
「UbuntuにLuaRocksをインストールしたい」

このような場合には、この記事の内容が役に立ちます。
この記事では、LuaRocksのインストールと使い方を解説しています。

本記事の内容

  • LuaRocksとは?
  • LuaRocksのシステム要件
  • LuaRocksのインストール
  • LuaRocksの動作確認「lua-cjsonのインストール」

それでは、上記に沿って解説していきます。

LuaRocksとは?

LuaRocksは、Luaモジュールのパッケージマネージャです。
次の形で表現すれば、一目瞭然でしょう。

言語パッケージ管理
Pythonpip
PHPComposer
Node.jsnpm
LuaLuaRocks

この表より、LuaRocksの重要性がわかるはずです。
よって、Luaで開発を行う上では必須と言えます。

そもそも、Luaには標準でモジュールが充実していません。
デフォルトでは、LuaはJSONすら扱うことができません。

そのため、モジュールを追加していくことが必須と言えます。
その際、LuaRocksのようなパッケージ管理システムがないとどうなるでしょうか?
言うまでもありませんね。

だからこそ、LuaのインストールとセットでLuaRocksは語られます。
Luaのインストールについては、次の記事で解説しています。

そして、この記事ではLuaRocksのインストールを説明しています。

以上、LuaRocksについての説明でした。
次は、LuaRocksのシステム要件を確認します。

LuaRocksのシステム要件

現時点(2021年12月末)でのLuaRocksの最新バージョンは、3.8.0となります。
この最新バージョンは、2021年11月9日にリリースされています。

ソースからビルドすれば、この最新版をインストールすることは可能です。
しかし、Ubuntu・Debianでは基本的にビルドはするべきではありません。

可能ならば、aptでインストールすべきです。
aptが難しいなら、dpkgでのインストールを検討します。

今回、LuaRocksについてはaptでのインストールが可能です。
どのUbuntuでも、公式でインストール対象となるのはLuaRocks 2.4.2です。

ただし、LuaRocks 2.4.2は2016年11月にリリースされています。
GithubにあるCAHNEG.LOGには、3系しか載っていませんでした。

公式ページにもこれと言った記載はありません。
Googleで検索して、このメーリングリストを見つけました。
とにかく、それぐらいLuaRocks 2.4.2は古いのです。

以下は、LuaRocks 2.4.2のパッケージ情報です。

$ sudo apt info luarocks 
Package: luarocks 
Version: 2.4.2+dfsg-1 
Priority: optional 
Section: universe/interpreters 
Origin: Ubuntu 
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> 
Original-Maintainer: Enrico Tassi <gareuselesinge@debian.org> 
Bugs: https://bugs.launchpad.net/ubuntu/+filebug 
Installed-Size: 705 kB 
Depends: lua-any, lua5.1 | lua5.2 | lua5.3, liblua5.1-dev | liblua5.2-dev | liblua5.3-dev, wget, zip, unzip 
Recommends: lua-sec 
Homepage: http://luarocks.org/ 
Download-Size: 97.6 kB 
APT-Sources: http://archive.ubuntu.com/ubuntu focal/universe amd64 Packages 
Description: deployment and management system for Lua modules 
 This package contains LuaRocks, a tool for managing rocks.  A Lua rock is a 
 bundle containing a module and some metadata like compilation instructions and 
 copyright. The command line utility luarocks can download, build, install and 
 remove rocks, properly handling dependencies among them and allowing multiple 
 versions of the same rock to coexist. 
 . 
 The tool installs system-wide rocks in /usr/local when run by the superuser, 
 but a regular user can easily tune it to install rocks in his home directory. 
 . 
 This package also provides the luarocks-admin tool, needed to create a rocks 
 repository, and the documentation for luarocks, describing the command line 
 tools as well as the library to manipulate rocks.

ここで気になるのが、依存関係の部分です。

Depends: lua-any, lua5.1 | lua5.2 | lua5.3, liblua5.1-dev | liblua5.2-dev | liblua5.3-dev, wget, zip, unzip

lua5.4がないのです。
しかし、「lua-any」とあります。

これは、「どのバージョンでも大丈夫」と解釈しましょう。
実際、大丈夫です。

以上、LuaRocksのシステム要件を説明しました。
次は、LuaRocksをインストールします。

LuaRocksのインストール

LuaRocksのインストールは、簡単です。
まずは、パッケージリストを更新。

sudo apt-get update

LuaRocksのインストールは、次のコマンドとなります。

sudo apt-get install luarocks

LuaRocksのインストールは、それほど時間はかかりません。
インストールが完了したら、確認です。

$ luarocks --version
/usr/bin/luarocks 2.4.2
LuaRocks main command-line interface

上記のようにバージョンが出れば、インストールに問題はありません。

以上、LuaRocksのインストールを説明しました。
最後は、実際にLuaRocksを使ってモジュールをインストールしてみましょう。

LuaRocksの動作確認「lua-cjsonのインストール」

今、最も人気のあるモジュールをインストールしましょう。

「lua-cjson」は、LuaでJSONを扱うことが可能になるモジュールです。
やはり、人気のモジュールなのでしょう。

では、「lua-cjson」のページにアクセスします。
https://luarocks.org/modules/openresty/lua-cjson

「lua-cjson」のインストールコマンドが記載されています。
そのまま実行します。

$ sudo luarocks install lua-cjson
Installing https://luarocks.org/lua-cjson-2.1.0.6-1.src.rock
gcc -O2 -fPIC -I/usr/include/lua5.1 -c lua_cjson.c -o lua_cjson.o
gcc -O2 -fPIC -I/usr/include/lua5.1 -c strbuf.c -o strbuf.o
gcc -O2 -fPIC -I/usr/include/lua5.1 -c fpconv.c -o fpconv.o
gcc -shared -o cjson.so -L/usr/local/lib lua_cjson.o strbuf.o fpconv.o
lua-cjson 2.1.0.6-1 is now installed in /usr/local (license: MIT)

インストールが成功したようです。
なお、書き込み権限が必要な以上は「sudo」が必要となります。

インストールしたモジュールは、次のコマンドで確認できます。

$ luarocks list

Installed rocks:
----------------

lua-cjson
   2.1.0.6-1 (installed) - /usr/local/lib/luarocks/rocks

ここまで確認できれば、LuaRocksの動作確認としては十分でしょう。

以上、LuaRocksの動作確認「lua-cjsonのインストール」の説明でした。

タイトルとURLをコピーしました