Erlang/OTP vfox plugin. Use the vfox to manage multiple Erlang/OTP versions in Linux/Darwin MacOS/Windows. all platform~
Works on Linux, MacOS, and Windows with consistent experience across all platforms
Installs Erlang/OTP through source code compilation for maximum compatibility
Optionally install prebuilt versions for faster setup on supported systems
Builds EEP-48 documentation chunks for REPL documentation and LSP hints
Control installation behavior with OTP_CONFIGURE_ARGS environment variable
Speed up compilation with parallel make using MAKEFLAGS environment variable
Works with mise dev tools manager as a backend
Install specific versions or search for available versions
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
Before installing Erlang/OTP on Linux or MacOS, you need to install required utilities:
# 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
# Install utilities
brew install autoconf libxslt fop wxwidgets openssl
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)
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
After vfox-erlang v1.1.0, you can install prebuilt versions for faster setup:
# 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"]
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
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
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
Manage multiple Erlang/OTP versions with ease across all platforms
We welcome contributions! Please check our GitHub repository for issues and feature requests.
Find us on GitHub: version-fox/vfox-erlang
Press ESC for overview • Use arrow keys to navigate • Press F for fullscreen