Ubuntu用Kerl安装及管理Erlang
2.安装kerl
安装位置:
cd /home/summergao/kerl
下载
curl -O https://raw.githubusercontent.com/kerl/kerl/master/kerl
或
wget https://github.com/kerl/kerl/archive/1.8.4.tar.gz
tar -xvf 1.8.4.tar.gz
cd kerl-1.8.4/
cp kerl ../
修改执行权限
chmod a+x kerl
3.配种环境变量
sudo vim ~/.bashrc
在打开的文件末尾添加:
export KERL_HOME=/home/summergao/kerlexport PATH=${KERL_HOME}/:$PATH
使配置生效:
source ~/.bashrc
正装ubuntu配置方式
vim /etc/profile
在export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL下面添加如下代码:
export KERL_HOME=/home/summergao/kerlexport PATH=${KERL_HOME}/:$PATH
使配置生效
source /etc/profile
验证环境变量是否配置成功
kerl version
4.从erlang官网更新版本
kerl update releases
5.显示所有发布的版本
kerl list releases
6.构建指定的版本(默认使用Java编译,需要安装JDK及配置环境变量)
方式一、默认使用Java编译
kerl build 22.0 22.0
方式二、(取消java编译)使用gcc编译
KERL_CONFIGURE_OPTIONS=--without-javac kerl build 22.0 22.0
作为一个试验性功能, 还可以从git仓库构建
kerl build git https://github.com/erlang/otp.git dev 19.2_dev
构建需要一段时间建议耐心等待。
[summergao@SummerGao builds]# kerl build 22.0 22.0
Verifying archive checksum...
Checksum verified (9842663e49f48e967c44b7574423f9e9)
Extracting source code
Building Erlang/OTP 22.0 (22.0), please wait...
APPLICATIONS DISABLED (See: /home/summergao/.kerl/builds/22.0/otp_build_22.0.log)
* jinterface : No Java compiler found
APPLICATIONS INFORMATION (See: /home/summergao/.kerl/builds/22.0/otp_build_22.0.log)
* wx : wxWidgets not found, wx will NOT be usable
出现上面的信息则需要另开一个终端安装一下JDK JDK
JDK安装成功后会提示:
Erlang/OTP 22.0 (22.0) has been successfully built
下载安装包可能很慢,为此可以使用迅雷先把安装包下载下来,比如安装22.0: 首先访问 https://www.erlang.org/downloads/22.0 找到 :OTP 22.0 Source File (91806805) 右键复制链接地址到迅雷下载。下载完成之后复制(或上传)到 /home/summergao/.kerl/archives 目录下(注意灵活变通,改成自己的目录),重新执行第6步。
7.显示已构建版本
kerl list builds
显示的结果由,
号分隔, 第一列为kerl list releases
命令中列出的版本号, 第二列为构建名称, 该构建名字可以被后续的kerl install
命令使用.
[summergao@SummerGao home]# kerl list builds
22.0,22.0
[summergao@SummerGao home]#
8.显示状态
kerl status
[summergao@SummerGao home]# kerl status
Available builds:
22.0,22.0
----------
Available installations:
There are no installations available
----------
No Erlang/OTP installation is currently active
[summergao@SummerGao home]#
9.安装特定版本
kerl install 22.0 ~/kerl/22.0
Installing Erlang/OTP 22.0 (22.0) in /home/summergao/kerl/22.0...
You can activate this installation running the following command:
. /home/summergao/kerl/22.0/activate
Later on, you can leave the installation typing:
kerl_deactivate
安装需要一段时间请耐心等待
10.显示已安装版本
kerl list installations
11.激活特定版本
. /home/summergao/kerl/22.0/activate
激活将备份您的$ PATH,并将其添加到安装的bin /目录中。因此,它仅对当前shell会话有效,直到您激活另一个安装或调用kerl_deactivate。
12.查看已激活的Erlang版本
kerl active
[summergao@SummerGao home]# kerl active
The current active installation is:
/home/summergao/kerl/22.0/activate
[summergao@SummerGao home]#
13.试运行erl
erl
[root@SummerGao home]# erl
Erlang/OTP 22 [erts-10.4] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]
Eshell V10.4 (abort with ^G)
1>
拓展:
14.删除特定的构建
kerl delete build 22.0
13.配置
你可以在命令行中执行构建的配置选项, 也可以在配置文件中进行配置
①配置编译选项
命令行通过编译参数指定, 如:
KERL_CONFIGURE_OPTIONS=--enable-hipe kerl build 22.0 22.0_hipe
②配置文件在$HOME/.kerlrc
指定
# $HOME/.kerlrcKERL_CONFIGURE_OPTIONS="
--disable-debug
--without-javac
--enable-shared-zlib
--enable-dynamic-ssl-lib
--enable-hipe
--enable-smp-support
--enable-threads
--enable-kernel-poll
--with-wx"
③配置应用程序
构建一个最小的Erlang环境, 只包含kernel
,stdlib
,sasl
三个应用程序
KERL_CONFIGURE_APPLICATIONS="kernel stdlib sasl" kerl build 22.0 22.0_minimal
④禁用应用程序
在构建的Erlang环境中排除ODBC应用
KERL_CONFIGURE_DISABLE_APPLICATIONS="odbc" kerl build 22.0 22.0_no_odbc
⑤安装Erlang
安装到指定的目录, 为了能够安装多个版本, 安装目录应该使用版本号进行标识
kerl install <build_name> <path>
例如
kerlinstall 22.0_hipe /tmp/erlang/22.0_hipe
15.部署
把指定Erlang构建版本部署到远程服务器上, 这样在一个集群中, 我们可以在一个服务器上编译, 统一部署所有的集群节点的 Erlang 运行环境.
kerl deploy <[user@]host> [directory] [remote_directory]
kerl deploy test@192.168.1.100 /deploy/erlang/22.0_hipe
注意:
要配置公钥能让ssh
直接无密码登陆远程服务器
把公钥添加到远程服务器的$HOME/.ssh/authorized_key
文件中即可
本地默认公钥位置为$HOME/.ssh/id_rsa.pub
更多配置请访问kerl官网:https://github.com/kerl/kerl
参考:https://segmentfault.com/a/1190000004909357
以上是 Ubuntu用Kerl安装及管理Erlang 的全部内容, 来源链接: utcz.com/z/516627.html