vfox-erlang Plugin

Manage multiple Erlang/OTP versions with vfox

Erlang/OTP vfox plugin. Use the vfox to manage multiple Erlang/OTP versions in Linux/Darwin MacOS/Windows. all platform~

Linux
MacOS
Windows
Cross-platform

Feature Highlights

Multi-platform Support

Works on Linux, MacOS, and Windows with consistent experience across all platforms

Source Compilation

Installs Erlang/OTP through source code compilation for maximum compatibility

Prebuilt Versions

Optionally install prebuilt versions for faster setup on supported systems

Documentation Integration

Builds EEP-48 documentation chunks for REPL documentation and LSP hints

Advanced Features

Custom Configuration

Control installation behavior with OTP_CONFIGURE_ARGS environment variable

Parallel Builds

Speed up compilation with parallel make using MAKEFLAGS environment variable

Mise Integration

Works with mise dev tools manager as a backend

Version Flexibility

Install specific versions or search for available versions

Installation Guide

Getting started with vfox-erlang is simple. First, install the plugin:


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

Then install an available version:


# Search for available versions
vfox search erlang

# Install a specific version
vfox install erlang@25.3.2.10
                    

Prerequisites for Linux/MacOS

Before installing Erlang/OTP on Linux or MacOS, you need to install required utilities:

Linux (Ubuntu 20.04/22.04)


# Install 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
                    

MacOS


# Install utilities
brew install autoconf libxslt fop wxwidgets openssl
                    

Usage Examples

Basic usage of the vfox-erlang plugin:


# Install 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

# Use the installed version
vfox use erlang@25.3.2.10

# Activate in current shell
source $(vfox activate)
                    

Windows Installation

In Windows, the plugin downloads the Erlang/OTP exe installer and executes it:


# Install a version
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 the installation
& erl.exe -eval 'erlang:display({otp_release, erlang:system_info(otp_release)}), halt().' -noshell
                    

Advanced Features

Prebuilt Versions

After vfox-erlang v1.1.0, you can install prebuilt versions for faster setup:

Linux (Ubuntu)


# Disable vfox search cache first
# Reference: https://vfox.lhan.me/guides/configuration.html#cache-settings

# Install an available version
USE_PREBUILT_OTP="ubuntu-20.04" vfox search erlang
USE_PREBUILT_OTP="ubuntu-20.04" vfox install erlang@26.2.3
                    

Supported Ubuntu versions: ["ubuntu-14.04", "ubuntu-16.04", "ubuntu-18.04", "ubuntu-20.04", "ubuntu-22.04", "ubuntu-24.04"]

MacOS Prebuilt Versions

For MacOS, use prebuilt versions from @erlef/otp_builds:


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

Supported architectures: amd64, x86_64, arm64, aarch64

Custom Configuration

Control installation behavior with environment variables:


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

# Speed up compilation with parallel make
export MAKEFLAGS=-j8
vfox install erlang@25.3.2.10
                    

Reference: Erlang/OTP INSTALL documentation

Usage with Mise

The plugin works with mise dev tools manager:


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

# Use mise exec to run erlang commands
mise exec -- erl -version
mise exec -- erlc hello.erl
mise exec -- erl -noshell -s hello hello_world -s init stop
                    

More info: mise documentation

Thank You!

vfox-erlang Plugin

Manage multiple Erlang/OTP versions with ease across all platforms

Contribution Guidelines

We welcome contributions! Please check our GitHub repository for issues and feature requests.

Get in Touch

Find us on GitHub: version-fox/vfox-erlang

Press ESC for overview • Use arrow keys to navigate • Press F for fullscreen