Skip to main content

Installation

Nebra ships as a single self-contained executable. It bundles the compiler, the language server, the package manager, the test runner and an embedded Lua 5.4 interpreter, so the machine you install it on needs no .NET runtime and no Lua installation.

One-line install

This is the recommended route. The script detects your operating system and CPU architecture, pulls the matching release archive, extracts it to ~/.neb and links the binary into ~/.local/bin so it resolves in any new shell. It never needs administrator rights, and everything lands inside your own user directory.

curl -fsSL https://raw.githubusercontent.com/nebra-lang/nebra/master/scripts/install.sh | bash

Open a new shell after the script finishes so the updated PATH takes effect, then confirm the install:

nebra version

Installing a specific version

Set an environment variable before running the installer to pin a release tag instead of taking the latest:

NEBRA_VERSION=v0.2.0 curl -fsSL https://raw.githubusercontent.com/nebra-lang/nebra/master/scripts/install.sh | bash
$env:NEBRA_VERSION = "v0.2.0"
irm https://raw.githubusercontent.com/nebra-lang/nebra/master/scripts/install.ps1 | iex

Changing the install location

Two more environment variables control where things go:

VariableDefaultWhat it controls
NEBRA_INSTALL_DIR~/.nebWhere the release archive is extracted
NEBRA_BIN_DIR~/.local/binWhere the nebra symlink is created

Manual install

If you would rather manage PATH yourself, download the archive for your platform from the latest release:

PlatformArchive
Linux x64nebra-linux-x64.tar.gz
Linux arm64nebra-linux-arm64.tar.gz
macOS x64nebra-osx-x64.tar.gz
macOS arm64 (Apple Silicon)nebra-osx-arm64.tar.gz
Windows x64nebra-win-x64.zip
Windows arm64nebra-win-arm64.zip

Each archive contains one binary, nebra (or nebra.exe). Extract it anywhere on your PATH:

tar xzf nebra-linux-x64.tar.gz
sudo mv nebra /usr/local/bin/
nebra version

Building from source

You need the .NET 10 SDK.

git clone https://github.com/nebra-lang/nebra.git
cd nebra
dotnet build Nebra.sln
./compiler/bin/Debug/net10.0/Nebra version

For a release build that behaves like the published binary:

dotnet publish compiler/Nebra.csproj -c Release -r linux-x64 --self-contained

Swap the runtime identifier for your platform: linux-x64, linux-arm64, osx-x64, osx-arm64, win-x64 or win-arm64.

Staying up to date

The CLI can update itself:

nebra check # report whether a newer release exists
nebra upgrade # download and install the latest release

nebra upgrade --force reinstalls even when you are already on the newest version, which is useful if an install got corrupted.

Uninstalling

Delete the install directory and the symlink:

rm -rf ~/.neb ~/.local/bin/nebra

On Windows, remove the install folder and the PATH entry the installer added.

Next steps

With the toolchain installed, create your first project, or wire up editor support so you get diagnostics and completion while you write.