Luarocks : un gestionaire de module
LuaRocks est un gestionnaire de paquets qui permet d'installer, de gérer et de distribuer facilement des modules Lua. Il fonctionne de manière similaire à npm pour JavaScript ou pip pour Python. Avec LuaRocks, vous pouvez rechercher et installer des bibliothèques Lua en quelques commandes.
Installation de LuaRocks
Windows Considérer utiliser Linux 🐧
- Lua 5.1 d'installer et dans le PATH Windows
- Dernière version stable
- Extraire le fichier
- Exécuter la comamnde
install.bat
en administrateur
Linux
sudo apt update && sudo apt upgrade -y && sudo apt install lua5.1 -y && sudo apt install luarocks -y
Utilisation de LuaRocks
Le site officiel de LuaRocks, luarocks.org, est la principale ressource pour explorer et télécharger des modules Lua. Il propose une vaste collection de bibliothèques développées par la communauté, ainsi que des guides pour aider à la gestion et à la publication de modules.
Installer un module
luarocks install module_name
Voirs les modules installer
luarocks list
Supprimer un module installer
luarocks remove module_name
Example d'utilisation
luarocks install luafilesystem
cd ~
mkdir LuaProjet
cd LuaProjet
mkdir test_a
mkdir test_b
touch test.lua
mettre se code dans test.lua
local lfs = require("lfs")
local current_dir = lfs.currentdir()
print("Répertoire actuel : " .. current_dir)
for file in lfs.dir(current_dir) do
print(file)
end
Répertoire actuel : /home/$USER/LuaProjet
.
..
test.lua
test_a
test_b
Publier son propre module
Vous aurez besoin
- d'un compte sur Le site officiel de LuaRocks
- d'un dépôt git public
- d'une archive
.zip
de votre projet sur se dépôt git - d'un code sous format de table et qui retorune se tableaux.
- Examples : monmodule.lua
local monmodule = {}
function monmodule.hello(name)
return "Bonjour, " .. (name or "monde") .. " !"
end
return monmodule
- d'un fichier
*-maj.min-patch.rockspec
package = "monmodule"
version = "1.0-1"
source = {
url = "https://github.com/moi/depotXYZ/archive/main.zip",
dir = "monmodule-main"
}
description = {
summary = "Un module simple qui dit bonjour",
homepage = "https://github.com/moi/depotXYZ",
license = "MIT"
}
dependencies = {}
build = {
type = "builtin",
modules = {
monmodule = "monmodule.lua"
}
}
Tester localement
luarocks make monmodule-1.0-0.rockspec
local monmodule = require("monmodule")
print(monmodule.hello("LuaRocks"))
Bonjour, LuaRocks !
Publier officielement
- Via la commande
luarocks upload monmodule-1.0-1.rockspec
- Via l'Interface graphique sur le site
Références
- Inconnu, « LuaRocks », github.com, https://github.com/luarocks/luarocks/blob/master/docs/index.md
- Sylvain Fabre et al., Le guide de lua et ses applications : Manuel d'apprentisage, D-Booker, 04/2016, pages 153-167.
Commentaires4
Commentaire
Merci pour ton article! Je voulais savoir s'il était possible d'upload plusieurs modules en même temps ou s'il était seulement possible d'en upload un à la fois.
Réponse
Il faudrais tester ;) mais je ne vois pas pouruqoi sa ne serais pas possible
Je te remecie pour ce blog…
Je te remecie pour ce blog. Ça fournit une bonne introduction à LuaRocks. Je n'en avais jamais entendu parler auparavant.
La mention de la communauté LuaRocks m'a fait penser à Cargo dans Rust, qui fournit également des bibliothèques communautaires via crates.io. Comment les écosystèmes de bibliothèques communautaires de LuaRocks et Cargo se comparent-ils en termes de qualité et de support?
Réponse
Ces exactement comme crates.io niveau support, ces sur le github du projet que cela se passe