INTRO
- lua의 확장 패키지를 설치하고 관리하는 프로그램이다.
INSTALL and SETUP
- Install System-Wide :
/usr/local/
$ sudo apt install luarocks # luarocks 설치
$ sudo luarocks install stdlib # 표준 라이브러리 설치
$ sudo chmod a+r /usr/local/share/lua/5.1/* # 일반사용자 읽기 권한 부여
$ sudo luarocks install package_name # 패키지 설치
- Install User Base :
$HOME/.luarocks
$ sudo apt install luarocks # luarocks 설치
$ echo 'PATH=$PATH:$HOME/.luarocks/bin' >> ~/.bashrc # add luarock bin path
$ echo 'eval "$(luarocks path --bin)"' >> ~/.bashrc # add LUA_PATH, LUA_CPATH
$ . ~/.bashrc
$ luarocks install --local package_name # 패키지 설치 (--local)
- Rcoktree Structure: 기본 설치 구조
{base} (base rocks tree directory)
├── bin (deployment of command line scripts)
├── lib
│ ├── luarocks
│ │ └── rocks (contains manifest and sub-dirs with rocks)
│ │
│ └── lua
│ └── 5.1 (deployment of binary modules)
│
└── share
└── lua
└── 5.1 (deployment of Lua modules)
Usage
$ luarocks # show help and usage
$ luarocks list # show installed packages
$ luarocks search pack_name # search packages
$ luarocks install pack_name # remove installed packages
$ luarocks show pack_name # show info installed packages
$ luarocks remove pack_name # remove installed packages
패키지 설치 및 사용례
패키지는 http://luarocks.org 참조 - 각 모듈 다운로드 순위도 참고
실제 사용례
$ luarocks search luafilesystem
$ luarocks install --local luafilesystem
$ luarocks list
$ luarocks show luafilesystem
$ vim attrdir.lua
#!/usr/bin/env lua
local lfs = require"lfs" -- import luafilesystem module
function attrdir (path)
for file in lfs.dir(path) do
if file ~= "." and file ~= ".." then
local f = path..'/'..file
print ("\t "..f)
local attr = lfs.attributes (f)
assert (type(attr) == "table")
if attr.mode == "directory" then
attrdir (f)
else
for name, value in pairs(attr) do
print (name, value)
end
end
end
end
end
attrdir (".")
$ chmod u+x attrdir.lua
$ ./attrdir.lua