Erlang安装 #
一、安装概述 #
Erlang/OTP是Erlang语言的官方发行版,包含:
- Erlang编译器和运行时
- OTP库和工具
- 文档和示例
1.1 版本选择 #
推荐使用最新的稳定版本(OTP 26+)。查看版本:
bash
erl -version
二、Windows安装 #
2.1 使用安装包 #
- 访问 Erlang官网
- 下载Windows安装包(.exe)
- 运行安装程序
- 按照向导完成安装
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