asdf-nerves-toolchain [](https://github.com/nerves-project/asdf-plugin-nerves-toolchain/actions/workflows/build.yml) [](https://github.com/nerves-project/asdf-plugin-nerves-toolchain/actions/workflows/lint.yml)
July 31, 2025 ยท View on GitHub
nerves-toolchain plugin for the asdf version manager.
This lets you use the official Nerves cross toolchains outside of Elixir. These provide recent versions of GCC with either musl libc or GNU libc for Intel, 32-bit and 64-bit ARM, RISC-V and MIPS.
$ asdf install nerves-toolchain v13.2.0-riscv64-nerves-linux-gnu
$ asdf set nerves-toolchain v13.2.0-riscv64-nerves-linux-gnu
$ riscv64-nerves-linux-gnu-gcc --version
riscv64-nerves-linux-gnu-gcc (crosstool-NG UNKNOWN) 13.2.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Contents
Dependencies
bash,curl,tar, and POSIX utilities.xz/xz-utilsjq
Nerves toolchain releases are large and hosted on GitHub. It is recommended to
create a GitHub API token and export it as GITHUB_API_TOKEN to avoid
throttling. For example, if using gh:
export GITHUB_API_TOKEN=$(gh auth token)
Install
Plugin:
asdf plugin add nerves-toolchain
nerves-toolchain:
# Show all installable versions. Only toolchains compatible with the current OS/arch
# will be displayed.
asdf list all nerves-toolchain
# Install specific version
asdf install nerves-toolchain v13.2.0-aarch64-nerves-linux-gnu
# Set a version globally (on your ~/.tool-versions file)
asdf set -u nerves-toolchain v13.2.0-aarch64-nerves-linux-gnu
Check asdf readme for more instructions on how to install & manage versions.
Contributing
Contributions of any kind welcome! See the contributing guide.
Thanks goes to these contributors!
License
See LICENSE.