Skip to main content

Cargo/Crates.io Installation

Install NoETL CLI from the official Rust package registry (crates.io).

Quick Install​

cargo install noetl

This installs the noetl binary to ~/.cargo/bin/ (ensure it's in your PATH).

Prerequisites​

Install Rust​

If you don't have Rust installed:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env

Verify installation:

cargo --version
rustc --version

Installation Options​

Latest Stable Version​

cargo install noetl-cli

Specific Version​

cargo install noetl --version 2.5.5

From Git (Development)​

Install the latest development version:

cargo install --git https://github.com/noetl/noetl noetl

From Local Source​

If you have the repository cloned:

cd noetl/crates/noetlctl
cargo install --path .

Verify Installation​

noetl --version
# Output: noetl 2.5.5

noetl --help

Update​

cargo install noetl --force

The --force flag reinstalls even if already installed.

Uninstall​

cargo uninstall noetl

Build Options​

Optimized Build​

For maximum performance:

cargo install noetl --profile release-lto

Package Details​

Crate Name: noetl (on crates.io)
Directory: crates/noetlctl (in repository)
PyPI Package: noetlctl (Python distribution)
Binary Name: noetl (installed command)

This naming allows:

  • Clean cargo install: cargo install noetl
  • Descriptive directory: noetlctl = "noetl control"
  • Separate Python package: pip install noetlctl

Minimal Binary Size​

cargo install noetl-cli --profile min-size

With Debug Symbols​

cargo install noetl-cli --profile release --debug

Cross-Platform Installation​

Linux (amd64)​

cargo install noetl-cli --target x86_64-unknown-linux-gnu

Linux (arm64)​

rustup target add aarch64-unknown-linux-gnu
cargo install noetl-cli --target aarch64-unknown-linux-gnu

macOS (Intel)​

cargo install noetl-cli --target x86_64-apple-darwin

macOS (Apple Silicon)​

cargo install noetl-cli --target aarch64-apple-darwin

Package Information​

Alternative Installation Methods​

  • Homebrew (macOS): brew install noetl
  • APT (Ubuntu/Debian): sudo apt-get install noetl
  • PyPI: pip install noetl-cli
  • Docker: docker pull ghcr.io/noetl/noetl:latest

Troubleshooting​

Cargo not found​

Ensure Rust is installed and ~/.cargo/bin is in your PATH:

echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

For zsh:

echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

Compilation fails​

Update Rust to the latest stable version:

rustup update stable
rustup default stable

Permission denied​

If you get permission errors, ensure ~/.cargo/bin is writable:

chmod +x ~/.cargo/bin/noetl

Binary not in PATH​

Find where cargo installed the binary:

which noetl
# If not found, check:
ls ~/.cargo/bin/noetl

Add to PATH if needed:

export PATH="$HOME/.cargo/bin:$PATH"

Build takes too long​

Use a faster linker (Linux):

# Install mold linker
sudo apt-get install mold
# or
cargo install mold

# Use it for installation
RUSTFLAGS="-C link-arg=-fuse-ld=mold" cargo install noetl-cli

Next Steps​