统信uos系统需手动安装erlang otp以支持rabbitmq等应用,推荐三种方法:一、源码编译安装(适配arm64/飞腾及定制环境);二、预编译deb包安装(x86_64桌面版快速部署);三、docker容器隔离运行(开发测试与多版本共存)。

如果您在统信UOS系统中需要运行RabbitMQ、Elixir或其他依赖Erlang OTP平台的应用,但系统默认未预装Erlang,则必须手动安装兼容版本的OTP。以下是针对统信UOS(含桌面版与服务器版)安装Erlang OTP的多种可行方法:
一、使用源码编译安装(推荐用于ARM64/飞腾及定制化环境)
该方法适用于统信UOS未提供对应架构deb包、或需精确控制OTP版本与编译选项的场景,可确保与本地CPU指令集(如x86_64或arm64)及系统库完全匹配。
1、确认并安装基础编译依赖:
执行命令:sudo apt update && sudo apt install -y build-essential autoconf m4 libncurses5-dev libssh-dev libssl-dev libwxgtk3.0-gtk3-dev libgl1-mesa-dev libglu1-mesa-dev libpng-dev libjpeg-dev unixodbc-dev
2、创建统一工作目录并进入:
执行命令:mkdir -p ~/erlang-build && cd ~/erlang-build
3、下载指定OTP源码包(以OTP 25.3.2.10为例,适配RabbitMQ 3.11.x):
执行命令:wget https://github.com/erlang/otp/releases/download/OTP-25.3.2.10/otp_src_25.3.2.10.tar.gz
4、解压并进入源码目录:
执行命令:tar -xzf otp_src_25.3.2.10.tar.gz && cd otp_src_25.3.2.10
5、配置编译参数(禁用Java支持以规避JDK依赖):
执行命令:./configure --prefix=/usr/local/erlang --without-javac --enable-smp-support --enable-threads --enable-kernel-poll
6、编译并安装:
执行命令:make -j$(nproc) && sudo make install
7、配置全局环境变量:
执行命令:echo 'export ERLANG_HOME=/usr/local/erlang' | sudo tee -a /etc/profile && echo 'export PATH=$ERLANG_HOME/bin:$PATH' | sudo tee -a /etc/profile && source /etc/profile
8、验证安装:
执行命令:erl -version
二、使用预编译deb包安装(适用于x86_64桌面版快速部署)
该方法跳过编译过程,直接安装由社区或第三方维护的适配统信UOS deb包,适合追求效率且对OTP版本要求不严格的用户。
1、下载适配统信UOS的Erlang deb包(例如erlang_25.3.2.10-1_amd64.deb):
执行命令:wget https://packages.erlang-solutions.com/erlang/debian/pool/esl-erlang_25.3.2.10-1_amd64.deb
2、安装GPG密钥以信任软件源:
执行命令:wget -O- https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | sudo apt-key add -
3、添加官方APT源(仅限x86_64):
执行命令:echo "deb https://packages.erlang-solutions.com/ubuntu focal contrib" | sudo tee /etc/apt/sources.list.d/erlang-solutions.list
4、更新软件包索引:
执行命令:sudo apt update
5、安装Erlang核心包及开发头文件:
执行命令:sudo apt install -y esl-erlang erlang-dev
6、验证安装结果:
执行命令:erl -eval 'erlang:display(erlang:system_info(otp_release)), halt().' -noshell
三、使用Docker容器隔离运行(适用于开发测试与多版本共存)
该方法将Erlang OTP运行于轻量级容器中,避免污染宿主系统环境,支持同时运行多个不同OTP版本,适合CI/CD集成或临时调试场景。
1、确保系统已安装Docker并启动服务:
执行命令:sudo apt install -y docker.io && sudo systemctl enable --now docker
2、拉取官方Erlang镜像(选择与目标RabbitMQ兼容的标签):
执行命令:docker pull erlang:25.3.2.10
3、运行交互式Erlang Shell进行验证:
执行命令:docker run -it --rm erlang:25.3.2.10 erl -version
4、若需挂载本地代码目录并持久化配置,执行:
执行命令:docker run -it --rm -v $(pwd):/workspace -w /workspace erlang:25.3.2.10 erl
5、为便于日常调用,可创建别名:
执行命令:echo "alias erl-docker='docker run -it --rm -v \$(pwd):/workspace -w /workspace erlang:25.3.2.10 erl'" >> ~/.bashrc && source ~/.bashrc










