Ubuntu虚拟机安装Erlang OTP 25及Elixir 1.13遇版本问题求助
解决Ubuntu安装Erlang 25及Elixir 1.13的问题
首先纠正你之前操作的错误:你执行的dpkg -i命令中,deb文件名末尾缺失了eb后缀,正确文件名应为erlang-solutions_2.0_all.deb,这会导致源配置未正确添加,所以apt-cache policy无法检测到Erlang 25版本。
以下是两种可靠的安装方案:
方案一:通过Erlang Solutions源安装指定版本
清理残留的错误源配置(可选但推荐)
sudo rm /etc/apt/sources.list.d/erlang-solutions.list sudo apt update正确添加Erlang Solutions源
sudo wget https://packages.erlang-solutions.com/erlang-solutions_2.0_all.deb sudo dpkg -i erlang-solutions_2.0_all.deb # 修复可能的依赖问题 sudo apt-get -f install sudo apt update安装指定版本的Erlang 25
先查看可用的Erlang 25子版本:apt-cache madison esl-erlang | grep 25选择对应版本安装(示例版本为
25.3.2.8-1):sudo apt install esl-erlang=25.3.2.8-1锁定版本防止后续自动更新:
sudo apt-mark hold esl-erlang安装Elixir 1.13
查看可用的Elixir 1.13版本:apt-cache madison elixir | grep 1.13安装指定版本(示例版本为
1.13.4-1):sudo apt install elixir=1.13.4-1锁定版本:
sudo apt-mark hold elixir验证安装结果
erl -v # 应显示Erlang/OTP 25相关版本信息 elixir -v # 应显示Elixir 1.13.x相关版本信息
方案二:使用asdf版本管理器安装(更灵活,适合多版本切换)
安装依赖工具
sudo apt install git curl 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安装asdf
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.13.1 # 将asdf添加到bash配置(若用zsh则修改~/.zshrc) echo '. "$HOME/.asdf/asdf.sh"' >> ~/.bashrc echo '. "$HOME/.asdf/completions/asdf.bash"' >> ~/.bashrc source ~/.bashrc添加Erlang和Elixir插件
asdf plugin add erlang https://github.com/asdf-vm/asdf-erlang.git asdf plugin add elixir https://github.com/asdf-vm/asdf-elixir.git安装指定版本
asdf install erlang 25.3.2.8 asdf install elixir 1.13.4-otp-25 # 设置全局默认版本 asdf global erlang 25.3.2.8 asdf global elixir 1.13.4-otp-25验证安装结果
erl -v elixir -v
内容的提问来源于stack exchange,提问作者Nivlem
相关产品推荐
相关产品推荐

