在 FreeBSD 上構建並安裝 ErlangOTP

以下示例顯示了在 FreeBSD 上安裝 Erlang / OTP 的 3 種主要方法。

方法 1 - 預先構建的二進位制包

使用 pkg 安裝預構建的二進位制包:

$ pkg install erlang

測試新安裝:

$ erl
Erlang/OTP 18 [erts-7.3.1] [source] [64-bit] [smp:2:2] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V7.3.1  (abort with ^G)

方法 2 - 使用埠集合構建和安裝(推薦)

像往常一樣構建和安裝埠:

$ make -C /usr/ports/lang/erlang install clean

測試新安裝:

$ erl
Erlang/OTP 18 [erts-7.3.1] [source] [64-bit] [smp:2:2] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V7.3.1  (abort with ^G)

這將從官方網站獲取釋出 tarball,如果需要應用一些補丁,構建版本並安裝它。顯然,這需要一些時間。

方法 3 - 從發行版 tarball 構建和安裝

注意:手動構建版本是可行的,但是應該首選使用上述兩種方法,因為埠集合嵌入的補丁使得版本更加 FreeBSD 友好。

下載釋出檔案:

$ fetch 'http://erlang.org/download/otp_src_18.3.tar.gz'

檢查其 MD5 總和是否正確:

$ fetch 'http://erlang.org/download/MD5'
MD5                                           100% of   24 kB  266 kBps 00m00s

$ grep otp_src_18.3.tar.gz MD5
MD5(otp_src_18.3.tar.gz)= 7e4ff32f97c36fb3dab736f8d481830b

$ md5 otp_src_18.3.tar.gz
MD5 (otp_src_18.3.tar.gz) = 7e4ff32f97c36fb3dab736f8d481830b

提取 tarball:

$ tar xzf otp_src_18.3.tar.gz

配置:

$ ./configure --disable-hipe

如果要使用 HiPe 構建 Erlang,則需要應用埠集合中的補丁。

建立:

$ gmake

安裝:

$ gmake install

測試新安裝:

$ erl
Erlang/OTP 18 [erts-7.3] [source] [64-bit] [smp:2:2] [async-threads:10] [kernel-poll:false]

Eshell V7.3  (abort with ^G)

使用 kerl 構建和安裝

kerl 是一個幫助你構建和安裝 Erlang / OTP 版本的工具。

安裝捲曲:

$ make -C /usr/ports/ftp/curl install clean

下載 kerl:

$ fetch 'https://raw.githubusercontent.com/kerl/kerl/master/kerl'
$ chmod +x kerl

更新可用版本列表:

$ ./kerl update releases
The available releases are:
R10B-0 R10B-10 R10B-1a R10B-2 R10B-3 R10B-4 R10B-5 R10B-6 R10B-7 R10B-8 R10B-9 R11B-0 R11B-1 R11B-2 R11B-3 R11B-4 R11B-5 R12B-0 R12B-1 R12B-2 R12B-3 R12B-4 R12B-5 R13A R13B01 R13B02-1 R13B02 R13B03 R13B04 R13B R14A R14B01 R14B02 R14B03 R14B04 R14B R14B_erts-5.8.1.1 R15B01 R15B02 R15B02_with_MSVCR100_installer_fix R15B03-1 R15B03 R15B R16A_RELEASE_CANDIDATE R16B01 R16B02 R16B03-1 R16B03 R16B 17.0-rc1 17.0-rc2 17.0 17.1 17.3 17.4 17.5 18.0 18.1 18.2 18.2.1 18.3 19.0

構建所需的版本:

$ ./kerl build 18.3 erlang-18.3

檢查構建列表中是否存在構建:

$ ./kerl list builds
18.3,erlang-18.3

在某處安裝構建:

$ ./kerl install erlang-18.3 ./erlang-18.3

如果你正在執行 bash 或魚殼,請獲取 activate 檔案。如果你正在執行 cshell,請將構建 bin 目錄新增到 PATH:

$ setenv PATH "/some/where/erlang-18.3/bin/:$PATH"

測試新安裝:

$ which erl
/some/where/erlang-18.3/bin//erl

$ erl
Erlang/OTP 18 [erts-7.3] [source] [64-bit] [smp:2:2] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V7.3  (abort with ^G)

其他版本

如果要構建另一個版本的 Erlang / OTP,請查詢集合中的其他埠:

參考