Skip to content
/ lpm Public

lpm is a package manager for Lua, written in Lua.

Notifications You must be signed in to change notification settings

codebycruz/lpm

Repository files navigation

lpm

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.

Features

  • Local package management, no venv or global installs.
  • Relative package installation via lpm add --path <package> and lpm 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.

Requirements

  • glibc 2.35+
  • gcc if you plan on using lpm compile
    • This requirement may be lifted at some point in the future.

Installation

curl -fsSL https://raw.githubusercontent.com/codebycruz/lpm/master/install.sh | sh

Windows

irm https://raw.githubusercontent.com/codebycruz/lpm/master/install.ps1 | iex

Development

In the future this will be streamlined with a devcontainer, but that's not a priority for me until Zed's support for devcontainers improves.

About

lpm is a package manager for Lua, written in Lua.

Topics

Resources

Stars

Watchers

Forks