The lungo command generates packages for Go, Python, Swift, TypeScript and C from a Lean
project (see the lungo command). Rust projects do not need it: they
use the lungo and lungo-build crates (see your first Rust crate).
lungo is one executable, and the same release is available four ways. Whichever you use,
check that it runs:
lungo --version
Homebrew (macOS and Linux)
brew install machinefabric/tap/lungo
apt (Debian, Ubuntu)
Packages are published for amd64 and arm64, in the MachineFabric package repository.
Adding it once serves every MachineFabric package: skip to the last line if you have already
added it for another one.
curl -fsSL https://release.machinefabric.com/packages/keys/repo-signing-prod.asc \
| sudo gpg --dearmor -o /usr/share/keyrings/machinefabric.gpg
echo "deb [signed-by=/usr/share/keyrings/machinefabric.gpg] https://release.machinefabric.com/packages/apt stable main" \
| sudo tee /etc/apt/sources.list.d/machinefabric.list
sudo apt update && sudo apt install lungo
dnf (Fedora, RHEL)
Packages are published for x86_64 and aarch64, in the same repository: add it once for
every MachineFabric package.
sudo tee /etc/yum.repos.d/machinefabric.repo >/dev/null <<'EOF'
[machinefabric]
name=MachineFabric
baseurl=https://release.machinefabric.com/packages/rpm/$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://release.machinefabric.com/packages/keys/repo-signing-prod.asc
EOF
sudo dnf install lungo
Cargo
cargo install lungo-cli
This builds the same release from crates.io. It needs Rust 1.89 or later.
Direct download
Every release is an archive per platform, listed with its SHA-256 digest in the release
manifest, https://release.machinefabric.com/lungo-cli/manifest. The archive is at
https://release.machinefabric.com/lungo-cli/release/<version>/lungo-<version>-<platform>.<ext>
| Platform | <platform> |
<ext> |
|---|---|---|
| macOS, Apple silicon | darwin-arm64 |
tar.gz |
| macOS, Intel | darwin-x86_64 |
tar.gz |
| Linux, x86-64 | linux-x86_64 |
tar.gz |
| Linux, ARM64 | linux-arm64 |
tar.gz |
| Windows, x86-64 | windows-x86_64 |
zip |
The release’s .deb and .rpm files, which the apt and dnf repositories serve, are listed
in the same manifest for downloading and installing by hand.
On macOS and Linux, download the archive, check it against the manifest’s digest, unpack it and put
the lungo file on your PATH:
version=1.78.3254 # the release's latest version is in the manifest
platform=linux-x86_64
curl -fLO "https://release.machinefabric.com/lungo-cli/release/$version/lungo-$version-$platform.tar.gz"
shasum -a 256 "lungo-$version-$platform.tar.gz" # compare with the manifest's sha256
tar xzf "lungo-$version-$platform.tar.gz"
sudo install -m 755 lungo/lungo /usr/local/bin/lungo
On Windows, download lungo-<version>-windows-x86_64.zip, check it with
Get-FileHash -Algorithm SHA256, unpack it, and add the unpacked lungo directory (it holds
lungo.exe) to your PATH.
Update
Update lungo the way you installed it:
| Installed with | Update with |
|---|---|
| Homebrew | brew upgrade machinefabric/tap/lungo |
| apt | sudo apt update && sudo apt install --only-upgrade lungo |
| dnf | sudo dnf upgrade lungo |
| Cargo | cargo install lungo-cli |
| Direct download | lungo self update (with sudo if you installed it with sudo) |
lungo self update installs the latest release only when the release manifest’s signature
chains to the keys built into the lungo you have: see
updating.
Check what you installed
Every package is made from the release’s archive of the command, which the manifest lists with
its SHA-256 digest (see trust and verification).
lungo built from the lungo-rs source is a development build (see
the runtime).
Next
Install elan, then follow a tutorial for the language you generate: see the documentation.