lpm is a package manager for Lua, written in Lua.
It was created due to my frustration with the current status quo of package management in the Lua ecosystem.
- LuaRocks is sorely dated, difficult to manage, and hardly maintained.
- Lux, while promising, is written in Rust and seems to be targeting backwards compatibility with LuaRocks.
- Local package management, no venv or global installs.
- Relative package installation via
lpm add --path <package>andlpm install. - Git repository installation via
lpm add --git <repo>supporting monorepos/subdirectories. lpm compile- Create a single executable application from your entire project, easily distributable.lpm test- Run test lua scripts in your project.
- glibc 2.35+
gccif you plan on usinglpm compile- This requirement may be lifted at some point in the future.
curl -fsSL https://raw.githubusercontent.com/codebycruz/lpm/master/install.sh | shWindows
irm https://raw.githubusercontent.com/codebycruz/lpm/master/install.ps1 | iexlpm new myproject
cd myproject
lpm add hood --git https://github.com/codebycruz/hood
echo "print(require('hood'))" > ./src/init.lua
lpm run
# Output: table: 0x7f53326fd030