vfox-erlang logo

vfox-erlang plugin

Erlang/OTP Version Management Made Easy

Manage multiple Erlang/OTP versions across Linux, macOS, and Windows with ease

🚀 View on GitHub

🌟 Key Features

Cross-Platform Support

Works seamlessly on Linux, macOS, and Windows

Multiple Installation Methods

Source compilation, prebuilt binaries, and Windows installers

Documentation Support

Built-in EEP-48 documentation chunks for REPL and LSP

Mise Integration

Compatible with mise dev tools manager

Parallel Compilation

Speed up builds with parallel make support

Configurable Installation

Custom configure arguments and build options

📦 Quick Installation

Get started with vfox-erlang in just a few commands:


# Install the plugin
vfox add --source https://github.com/version-fox/vfox-erlang/archive/refs/heads/main.zip erlang

# Search for available versions
vfox search erlang

# Install a specific version
vfox install erlang@25.3.2.10
                

That's it! You're ready to use Erlang/OTP with vfox.

🐧 Linux Installation Prerequisites

For Ubuntu 20.04/22.04, install required utilities:


sudo apt-get -y install build-essential autoconf m4 \
  libncurses5-dev libwxgtk3.0-gtk3-dev \
  libwxgtk-webview3.0-gtk3-dev libgl1-mesa-dev \
  libglu1-mesa-dev libpng-dev libssh-dev \
  unixodbc-dev xsltproc fop libxml2-utils \
  libncurses-dev openjdk-11-jdk
                

Reference: .github/workflows/e2e_test_linux.yaml

🍎 macOS Installation Prerequisites

For macOS 13, install required utilities with Homebrew:


# Install required utilities
brew install autoconf libxslt fop wxwidgets openssl
                

Reference: .github/workflows/e2e_test_darwin.yaml

🪟 Windows Installation

Windows installation uses official Erlang/OTP installers:


# Install Erlang/OTP
vfox install erlang@25.3.2.12

# Use the installed version
vfox use erlang@25.3.2.12

# Activate in PowerShell
Invoke-Expression "$(vfox activate pwsh)"

# Test installation
& erl.exe -eval 'erlang:display({otp_release, erlang:system_info(otp_release)}), halt().' -noshell
                

Reference: .github/workflows/e2e_test_windows.yaml

⚙️ Advanced Configuration

Custom Configure Arguments

Use environment variables to customize installation:


# Example: Enable JIT and kernel poll
export OTP_CONFIGURE_ARGS="--enable-jit --enable-kernel-poll"
vfox install erlang@25.3.2.10
                

Parallel Compilation

Speed up builds with parallel make:


# Use 8 parallel jobs
export MAKEFLAGS=-j8
vfox install erlang@25.3.2.10
                

Building typically takes ~5 minutes on fast computers

🚀 Prebuilt Erlang/OTP Versions

Available since v1.1.0 for faster installation:

Linux (Ubuntu)


# Disable vfox search cache first
# Then install prebuilt version
USE_PREBUILT_OTP="ubuntu-20.04" vfox search erlang
USE_PREBUILT_OTP="ubuntu-20.04" vfox install erlang@26.2.3
                

Supported: ubuntu-14.04, ubuntu-16.04, ubuntu-18.04, ubuntu-20.04, ubuntu-22.04, ubuntu-24.04

macOS


# Install prebuilt version for macOS
USE_PREBUILT_OTP=true vfox search erlang
USE_PREBUILT_OTP=true vfox install erlang@26.2.3
                

Architectures: amd64, x86_64, arm64, aarch64

🔧 Usage with Mise

Use vfox-erlang through the mise dev tools manager:


# Install and activate erlang through mise
mise use -g vfox:version-fox/vfox-erlang@26.2.3

# Run erlang commands with mise
mise exec -- erl -version
mise exec -- erlc hello.erl
mise exec -- erl -noshell -s hello hello_world -s init stop
                

Learn more: mise documentation

📚 Built-in Documentation Support

vfox-erlang automatically builds EEP-48 documentation chunks for:

REPL Documentation

Access docs directly in Erlang shell with h(list).

LSP Integration

Enhanced language server protocol support with rich documentation

This feature is enabled by default for better development experience

🎉 Thank You!

📖 Documentation

Visit our GitHub repository for detailed documentation and examples

🤝 Contributing

Contributions are welcome! Feel free to submit issues and pull requests

🐛 Bug Reports

Found an issue? Please report it on our GitHub issue tracker

💬 Community

Join our community for support and discussions

Project URL:
https://github.com/version-fox/vfox-erlang

Made with ❤️ by the version-fox team