Erlang安装 #

一、安装概述 #

Erlang/OTP是Erlang语言的官方发行版,包含:

  • Erlang编译器和运行时
  • OTP库和工具
  • 文档和示例

1.1 版本选择 #

推荐使用最新的稳定版本(OTP 26+)。查看版本:

bash
erl -version

二、Windows安装 #

2.1 使用安装包 #

  1. 访问 Erlang官网
  2. 下载Windows安装包(.exe)
  3. 运行安装程序
  4. 按照向导完成安装

2.2 使用Chocolatey #

powershell
choco install erlang

2.3 使用Scoop #

powershell
scoop install erlang

2.4 环境变量 #

安装后需要配置环境变量:

text
ERLANG_HOME=C:\Program Files\erl-26.0
Path添加: %ERLANG_HOME%\bin

验证安装:

cmd
erl -version

三、macOS安装 #

3.1 使用Homebrew(推荐) #

bash
brew install erlang

3.2 使用Homebrew安装特定版本 #

bash
brew install erlang@26

3.3 使用MacPorts #

bash
sudo port install erlang

3.4 使用kerl(推荐开发者) #

kerl是Erlang版本管理工具:

bash
curl -O https://raw.githubusercontent.com/kerl/kerl/master/kerl
chmod a+x kerl
sudo mv kerl /usr/local/bin/

列出可用版本:

bash
kerl list releases

构建特定版本:

bash
kerl build 26.0 26.0
kerl install 26.0 ~/erlang/26.0

激活版本:

bash
source ~/erlang/26.0/activate

四、Linux安装 #

4.1 Ubuntu/Debian #

bash
sudo apt-get update
sudo apt-get install erlang

安装完整版本:

bash
sudo apt-get install erlang-dev erlang-xmerl erlang-ssl

4.2 CentOS/RHEL #

添加Erlang仓库:

bash
sudo yum install epel-release
sudo yum install erlang

4.3 Fedora #

bash
sudo dnf install erlang

4.4 Arch Linux #

bash
sudo pacman -S erlang

4.5 使用kerl(推荐) #

bash
curl -O https://raw.githubusercontent.com/kerl/kerl/master/kerl
chmod a+x kerl
sudo mv kerl /usr/local/bin/

kerl build 26.0 26.0
kerl install 26.0 ~/erlang/26.0
source ~/erlang/26.0/activate

五、Docker安装 #

5.1 使用官方镜像 #

bash
docker run -it erlang:26

5.2 Dockerfile示例 #

dockerfile
FROM erlang:26

WORKDIR /app
COPY . .

RUN rebar3 compile

CMD ["rebar3", "shell"]

5.3 Docker Compose #

yaml
version: '3'
services:
  erlang:
    image: erlang:26
    volumes:
      - .:/app
    working_dir: /app
    command: erl

六、验证安装 #

6.1 检查版本 #

bash
erl -version

输出示例:

text
Erlang/OTP 26 [erts-14.0] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [jit:ns]

6.2 启动Shell #

bash
erl

输出:

text
Erlang/OTP 26 [erts-14.0] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [jit:ns]

Eshell V14.0  (abort with ^G)
1>

6.3 简单测试 #

erlang
1> 1 + 1.
2
2> io:format("Hello, Erlang!~n").
Hello, Erlang!
ok
3> q().
ok

七、Erlang Shell #

7.1 启动Shell #

bash
erl

7.2 Shell命令 #

命令 功能
q(). 退出Shell
init:stop(). 停止系统
Ctrl+C 中断
Ctrl+G 进入JCL模式
Ctrl+C Ctrl+C 强制退出

7.3 Shell快捷键 #

快捷键 功能
Ctrl+A 行首
Ctrl+E 行尾
Ctrl+P 上一条历史
Ctrl+N 下一条历史
Tab 自动补全

7.4 JCL模式 #

Ctrl+G 进入Job Control Language模式:

text
User switch command
 --> h
  c [nn]            - connect to job
  i [nn]            - interrupt job
  k [nn]            - kill job
  j                 - list all jobs
  s [shell]         - start local shell
  r [node [shell]]  - start remote shell
  q                 - quit erlang
  ? | h             - this message
 --> 

常用操作:

text
--> j
  1* {shell,start,[init]}
--> s
--> j
  1  {shell,start,[init]}
  2* {shell,start,[]}
--> c 2

7.5 Shell函数 #

erlang
1> help().
2> b().
3> f().
4> f(X).
5> history(50).
6> results(20).
7> catch_exception(true).
函数 功能
help(). 显示帮助
b(). 显示所有绑定变量
f(). 清除所有变量绑定
f(X). 清除变量X的绑定
history(N). 设置历史记录数量
results(N). 设置结果保存数量

八、编译器 #

8.1 编译模块 #

bash
erlc hello.erl

8.2 编译选项 #

bash
erlc -W hello.erl
erlc -Werror hello.erl
erlc -debug_info hello.erl
erlc -o ebin hello.erl
选项 说明
-W 启用警告
-Werror 警告视为错误
-debug_info 包含调试信息
-o <dir> 输出目录
-I <dir> 包含目录
-D<name> 定义宏

8.3 在Shell中编译 #

erlang
1> c(hello).
{ok, hello}
2> c(hello, [debug_info]).
{ok, hello}

九、常用工具 #

9.1 标准工具 #

工具 说明
erl Erlang Shell
erlc 编译器
escript 脚本执行器
dialyzer 静态分析工具
typer 类型推断工具

9.2 escript #

创建可执行脚本 hello.erl

erlang
#!/usr/bin/env escript
main(_Args) ->
    io:format("Hello, Erlang!~n").

运行:

bash
chmod +x hello.erl
./hello.erl

9.3 Dialyzer #

静态分析工具:

bash
dialyzer --build_plt --apps erts kernel stdlib
dialyzer hello.erl

十、开发环境配置 #

10.1 VS Code #

安装插件:

  • Erlang LS
  • Erlang Formatter

10.2 IntelliJ IDEA #

安装插件:

  • Erlang

10.3 Emacs #

使用 erlang-mode:

elisp
(require 'erlang-start)
(add-to-list 'auto-mode-alist '("\\.erl?$" . erlang-mode))

10.4 Vim #

使用 vim-erlang:

vim
Plugin 'vim-erlang/vim-erlang-runtime'
Plugin 'vim-erlang/vim-erlang-compiler'
Plugin 'vim-erlang/vim-erlang-omnicomplete'

十一、总结 #

本章学习了:

  • 各平台安装Erlang的方法
  • Erlang Shell的使用
  • 编译器和工具链
  • 开发环境配置

准备好编写第一个Erlang程序了吗?让我们进入下一章。

最后更新:2026-03-27