环境
- 系统:Windows 10 pro ×64
- 子系统:wsl2 + Ubuntu 18.04
添加镜像
$ sudo vi /etc/apt/sources.list
最后添加清华 erlang-solutions 源
# qing hua erlang-solutions
deb https://mirrors.tuna.tsinghua.edu.cn/erlang-solutions/ubuntu/ bionic contrib
更新
$ sudo apt update
若失败提示 The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY XXXXXXXXXXXX 则复制最后的 KEY, 执行
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys XXXXXXXXXXXX
若提示如下错误:
gpg: keyserver receive failed: Server indicated a failure
则执行
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv XXXXXXXXXXXX
Executing: /tmp/apt-key-gpghome.VehtZ71sTw/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv XXXXXXXXXXXX
gpg: key D208507CA14F4FCA: public key "Erlang Solutions Ltd. <packages@erlang-solutions.com>" imported
gpg: Total number processed: 1
gpg: imported: 1
然后再次执行 update 即可
安装 Erlang
可以选择安装特定版本,也可以直接安装,会自动安装最新版
安装特定版本
比如选择 OTP 19 安装
$ sudo apt install esl-erlang=1:19.*
提示安装成功后,测试
$ erl
Erlang/OTP 19 [erts-8.3.5.7] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false]
Ebash V8.3.5.7 (abort with ^G)
1>
安装完成后记得把镜像地址注释掉, 否则下次更新系统会不小心升级版本
安装最新版
$ sudo apt install esl-erlang
OTP 20 以上自带支持 history,方便在 shell 运行时记录执行过的命令
$ sudo vi /usr/lib/erlang/bin/erl
添加环境变量,在 exec 之前添加
...
export ERL_AFLAGS="-kernel shell_history enabled"
exec "$BINDIR/erlexec" ${1+"$@"}