Installation with Cargo
Cargo is Rust’s package manager and build tool. If you’re a Rust developer or prefer installing from source, this is the method for you.
Prerequisites
You’ll need Rust and Cargo installed on your system. If you don’t have them yet:
Install Rust
The easiest way to install Rust is using rustup:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Follow the on-screen instructions. After installation, restart your terminal or run:
source $HOME/.cargo/env
Verify the installation:
rustc --version
cargo --version
For more details, see the official Rust installation guide.
Installation
Install from crates.io
Install the latest published version from crates.io:
cargo install voyager-verifier
This will download, compile, and install the voyager binary to ~/.cargo/bin/.
Install Specific Version
To install a specific version:
cargo install voyager-verifier --version 2.0.1
Install from Git Repository
To install the latest development version directly from the GitHub repository:
cargo install --git https://github.com/NethermindEth/voyager-verifier.git
Install a specific branch:
cargo install --git https://github.com/NethermindEth/voyager-verifier.git --branch main
Install a specific commit:
cargo install --git https://github.com/NethermindEth/voyager-verifier.git --rev abc123
Build Options
Without Desktop Notifications
If you want to build without desktop notification support (reduces dependencies):
cargo install voyager-verifier --no-default-features
With Specific Features
Enable specific features during installation:
# With notifications (default)
cargo install voyager-verifier --features notifications
Verify Installation
After installation, verify it worked:
voyager --version
You should see:
voyager-verifier 2.0.1
Check the installation path:
which voyager
Typical output:
/home/username/.cargo/bin/voyager
Updating
Update to Latest Version
To update to the latest published version:
cargo install voyager-verifier --force
The --force flag reinstalls the package even if it’s already installed.
Update from Git
If you installed from git, re-run the install command:
cargo install --git https://github.com/NethermindEth/voyager-verifier.git --force
Uninstalling
To remove voyager-verifier:
cargo uninstall voyager-verifier
Building from Source
For development or customization, you can clone and build manually:
Clone the Repository
git clone https://github.com/NethermindEth/voyager-verifier.git
cd voyager-verifier
Build
Build in release mode:
cargo build --release
The binary will be in target/release/voyager.
Run Without Installing
Run directly without installing:
cargo run -- --version
Install Local Build
Install the locally built version:
cargo install --path .
Troubleshooting
Cargo Not Found
If cargo command is not found:
- Ensure Rust is properly installed
- Make sure
~/.cargo/binis in your PATH - Restart your terminal
- Source the cargo environment:
source $HOME/.cargo/env
Compilation Errors
If you encounter build errors:
Update Rust toolchain:
rustup update stable
Install required system dependencies:
On Ubuntu/Debian:
sudo apt-get install pkg-config libssl-dev
On macOS:
brew install pkg-config openssl
On Fedora/RHEL:
sudo dnf install pkg-config openssl-devel
Network Issues
If downloads fail:
- Check your internet connection
- Check if you’re behind a proxy (configure cargo proxy settings)
- Try using a VPN if crates.io is blocked
Permission Errors
If you get permission errors during installation:
- Never use
sudowith cargo install - Ensure
~/.cargo/binis writable by your user - Check that your Rust installation isn’t system-wide (should be user-local)
Environment Configuration
Add to PATH
Ensure ~/.cargo/bin is in your PATH. Add to your shell profile:
Bash (~/.bashrc):
export PATH="$HOME/.cargo/bin:$PATH"
Zsh (~/.zshrc):
export PATH="$HOME/.cargo/bin:$PATH"
Fish (~/.config/fish/config.fish):
set -gx PATH $HOME/.cargo/bin $PATH
After editing, reload your shell configuration or restart your terminal.
Next Steps
Now that voyager-verifier is installed, proceed to the Quickstart Guide to verify your first contract!