Installation

Complete installation guide for lla across different platforms and package managers with verification and troubleshooting steps.

Installation

Getting lla up and running is quick and straightforward. Choose the installation method that best fits your workflow.

The easiest way to install lla is using our automated installation script, which handles platform detection and verification:

curl -sSL https://raw.githubusercontent.com/chaqchase/lla/main/install.sh | bash

What this script does:

  • Automatically detects your operating system and CPU architecture
  • Downloads the appropriate pre-compiled binary for your platform
  • Verifies the integrity of the download using checksums
  • Installs lla to /usr/local/bin (requires sudo on some systems)
  • Sets proper executable permissions

Supported platforms:

  • Linux (x86_64, ARM64)
  • macOS (Intel, Apple Silicon)
  • Windows (via WSL)

Install from Cargo

If you have Rust's package manager cargo installed, you can build and install lla from source:

cargo install lla

This method:

  • Compiles lla specifically for your system
  • Always gives you the latest stable release from crates.io
  • Installs to ~/.cargo/bin (ensure it's in your PATH)

Note: Building from source requires a Rust toolchain. Install Rust from rustup.rs if needed.

Package Managers

lla is available through several package managers for convenient installation and automatic updates:

brew install lla

Platform-specific commands:

PlatformPackage ManagerCommand
macOSHomebrewbrew install lla
Arch Linuxparuparu -S lla
NetBSDpkginpkgin install lla
Cross-platformX-CMDx install lla
Any with Cargocargocargo install lla

Manual Installation

Download pre-built binaries from our releases page:

Note: Replace <version> with the latest version tag from the releases page. e.g. v0.3.8

Linux (x86_64)

wget -c https://github.com/chaqchase/lla/releases/download/<version>/lla-linux-amd64 -O lla
sudo chmod +x lla
sudo chown root:root lla
sudo mv lla /usr/local/bin/lla

Linux (ARM64)

wget -c https://github.com/chaqchase/lla/releases/download/<version>/lla-linux-arm64 -O lla
sudo chmod +x lla
sudo chown root:root lla
sudo mv lla /usr/local/bin/lla

macOS (x86_64)

curl -L https://github.com/chaqchase/lla/releases/download/<version>/lla-darwin-amd64 -o lla
sudo chmod +x lla
sudo chown root:wheel lla
sudo mv lla /usr/local/bin/lla

macOS (ARM64)

curl -L https://github.com/chaqchase/lla/releases/download/<version>/lla-darwin-arm64 -o lla
sudo chmod +x lla
sudo chown root:wheel lla
sudo mv lla /usr/local/bin/lla

Post-Installation Setup

After installing lla, follow these steps to complete your setup and verify everything works correctly.

1. Verify Installation

Confirm lla is installed and accessible:

lla --version

You should see output similar to:

lla 0.3.9

If you see "command not found", ensure the installation directory is in your PATH:

# For manual installations
export PATH="/usr/local/bin:$PATH"
 
# For cargo installations
export PATH="$HOME/.cargo/bin:$PATH"

Enable tab completion for your shell to dramatically improve your lla workflow:

Bash

# Generate completion script
lla completion bash > ~/.lla-completion.bash
 
# Add to your ~/.bashrc
echo 'source ~/.lla-completion.bash' >> ~/.bashrc
source ~/.bashrc

Zsh

# Generate completion script
lla completion zsh > ~/.zsh/completions/_lla
 
# Add to your ~/.zshrc (if not already present)
echo 'fpath=(~/.zsh/completions $fpath)' >> ~/.zshrc
echo 'autoload -Uz compinit && compinit' >> ~/.zshrc
source ~/.zshrc

Fish

# Generate and install completion
lla completion fish > ~/.config/fish/completions/lla.fish

Elvish

# Generate completion
lla completion elvish > ~/.elvish/lib/lla-completion.elv
 
# Add to your ~/.elvish/rc.elv
echo 'use lla-completion' >> ~/.elvish/rc.elv

3. Initialize Configuration

Create your configuration file with sensible defaults:

lla init

This creates ~/.config/lla/config.toml with default settings. You can view it anytime:

lla config              # View your configuration

To customize settings, either edit the file directly or use the config command:

# View current theme
lla config --get theme
 
# Change theme
lla config --set theme dark
 
# Enable icons by default
lla config --set show_icons true

4. Install Plugins (Optional)

Enhance lla with plugins for additional functionality:

# Install all first-party plugins
lla install
 
# Or install specific plugins from Git
lla install --git https://github.com/chaqchase/lla-plugin-name

Learn more about plugins in the Plugin System documentation.

Quick Test

Try these commands to see lla in action:

lla                    # List current directory
lla -l                 # Long format with details
lla -t                 # Tree view
lla --fuzzy            # Interactive fuzzy search

Troubleshooting

"command not found" Error

Problem: Shell cannot find lla after installation.

Solution: Add the installation directory to your PATH:

# Check where lla is installed
which lla
 
# If in /usr/local/bin, add to PATH
export PATH="/usr/local/bin:$PATH"
 
# Make it permanent (add to ~/.bashrc or ~/.zshrc)
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Permission Denied

Problem: Cannot execute lla after manual installation.

Solution: Ensure the binary has execute permissions:

sudo chmod +x /usr/local/bin/lla

Checksum Verification Failed

Problem: Installation script reports checksum mismatch.

Solution: This usually indicates a corrupted download. Try again:

# Clear any partial downloads
rm -f /tmp/lla-*
 
# Run installation script again
curl -sSL https://raw.githubusercontent.com/chaqchase/lla/main/install.sh | bash

Icons Not Displaying

Problem: File icons appear as squares or question marks.

Solution: Install a Nerd Font and configure your terminal to use it:

  1. Download a Nerd Font from nerdfonts.com
  2. Install the font on your system
  3. Configure your terminal emulator to use the Nerd Font
  4. Restart your terminal

Popular choices: FiraCode Nerd Font, JetBrainsMono Nerd Font, Hack Nerd Font

Slow Performance on Large Directories

Problem: lla is slow when listing directories with many files.

Solution: Adjust performance settings in your config:

# In ~/.config/lla/config.toml
[formatters.tree]
max_lines = 10000     # Reduce from default 20000
 
[listers.recursive]
max_entries = 10000   # Reduce from default 20000
 
# Disable directory size calculation
include_dirs = false

Getting Help

If you encounter issues not covered here:

Next Steps

Now that lla is installed and configured: