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.3
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.3
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
- Crate Name:
noetl-cli - Binary Name:
noetl - Registry: https://crates.io/crates/noetl-cli
- Documentation: https://docs.rs/noetl-cli
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