[Erlang36]kerl轻松管理安装各种OTP版本

kerl只有一个目标:让我们在不同的OTP版本间随意切换。他是一个纯Bash项目。简单实用的工作利器!

Readme里面用法已说明得非常清楚了。建议按流程来一次。

1.下载

安装(一个bash脚本,根本就不用安装~)

 curl -O https://raw.githubusercontent.com/kerl/kerl/master/kerl&chmod a+x kerl

2.工作原理

official Erlang website上得到所有的release包信息,然后再下载对应的release后安装到指定的目录下。你也可以使用KERL_BUILD_BACKEND=git

指定从official source code上下载源.

3.用法

./kerl
kerl: build and install Erlang/OTP
usage: ./kerl <command> [options ...]

  <command>       Command to be executed

Valid commands are:
  build    Build specified release or git repository
  install  Install the specified release at the given location
  deploy   Deploy the specified installation to the given host and location
  update   Update the list of available releases from your source provider
  list     List releases, builds and installations
  delete   Delete builds and installations
  active   Print the path of the active installation
  plt      Print Dialyzer PLT path for the active installation
  status   Print available builds and installations
  prompt   Print a string suitable for insertion in prompt
  cleanup  Remove compilation artifacts (use after installation)
  version  Print current version (current: 1.3.2)

3.1 列出所有可用的release包

$ ./kerl list releases
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
Run ‘./kerl update releases‘ to update this list from erlang.org

3.2 下载指定release包并编译

KERL_CONFIGURE_OPTIONS=--enable-hipe ./kerl build 19.0 19.0_hipe % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 184 100 184 0 0 132 0 0:00:01 0:00:01 --:--:-- 132 0 64.8M 0 51751 0 0 4277 0 4:25:04 0:00:12 4:24:52 10189

要从官网上下70M的东西,erlang.org对中国区本来就慢,建议使用git源(KERL_BUILD_BACKEND=git)

3.3 查看现在有release包列表

./kerl list builds17.4 17.4
19.0 19.0_hipe

3.4 安装包

$./kerl install 19.0_hipe /usr/local/sbin/erl_19_0_hipe
Installing Erlang/OTP 19.0 (19.0) in /usr/local/sbin/erl_19_0...
You can activate this installation running the following command:
. /usr/local/sbin/erl_19_0/activate
Later on, you can leave the installation typing:
kerl_deactivate

稍等一会,就会提示你安装成功。

3.5 使用指定版本的OTP

如果想在当前的shell中使用安装好的上面19版本的OTP,只需要

$./usr/local/sbin/erl_19_0/activate

然后打开erlang shell试试看:

$erl
Erlang/OTP 19 [erts-8.0] [source] [64-bit] [smp:4:4] [async-threads:10] [kernel-poll:false]
Eshell V8.0  (abort with ^G)
1>

成功在当前的shell中使用19的release啦。

如果不想使用了,也可以使用下面命令来禁用

kerl_deactivate

以上就是kerl的基本用法,有了它,你就可以在本机上装多个版本的erlang了。对要测试多个版本的工作太有用了。

4. 补充

可能有人也注意到了,这是从源码重新编译,可不可以更加方便的指定编译的参数,

而不是像上面在命令行中 KERL_CONFIGURE_OPTIONS=--enable-hipe。

这是可以的。

kerl在home下有一个.kerlrc(类似于.bashrc),比如我的

emacs ~/.kerlrc
KERL_CONFIGURE_OPTIONS="--disable-hipe --enable-smp-support --enable-threads --enable-kernel-poll  --enable-darwin-64bit --with-ssl=/usr/local/Cellar/openssl/1.0.2h_1"

除了这个configure options外,还有很多项都可以在.kerlrc中配置(可以在readme中找到详细的说明),方便又不缺乏灵活。

kerl在home下有一个.kerl(类似于.ssh目录)

cd ~/.kerl && ls
archives          builds            otp_builds        otp_builds-e      otp_installations otp_releases

这里就是kerl命令存放release和存install数据的地方。

5. 资源

5.1 elixir也有对应的项目叫kiex

5.2 kerl甚至可以deploy到远程的服务器上安装,只要你配置好ssh key,虽然没有用到,但是这也太炫酷啦。

5.3 basho使用kerl安装的文档:http://docs.basho.com/riak/kv/2.1.4/setup/installing/source/erlang/#kerl-prerequisites

If my fingers were erlang processes~

时间: 2024-10-10 09:33:51

[Erlang36]kerl轻松管理安装各种OTP版本的相关文章

centos 安装最新稳定版本docker

直接yum安装的docker版本是 : docker --versionDocker version 1.12.6, build 85d7426/1.12.6 一些新特性需要安装最新的稳定版本 国内可以用镜像加速,可以参考我的另外一篇blog http://www.cnblogs.com/zhishuai/p/8013137.html 以下流程主要整理自docker中国官方站,简单梳理下流程 https://docs.docker-cn.com/engine/installation/linux

Mac下同时安装多个版本的JDK

JDK8 GA之后,小伙伴们喜大普奔,纷纷跃跃欲试,想体验一下Java8的Lambda等新特性,可是目前Java企业级应用的主打版本还是JDK6, JDK7.因此,我需要在我的电脑上同时有JDK8,JDK7,JDK6.JDK6和JDK7主要是做一些产品代码的验证,以及自己玩一些开源项目,JDK8则纯属尝鲜,谁叫咱是喜新厌旧的程序员呢. 目标 在命令行下,可以通过命令'jdk6', 'jdk7','jdk8'轻松切换到对应的Java版本, 默认初始设置为jdk7. 做法 1.首先安装所有的JDk:

win10下通过Anaconda安装TensorFlow-GPU1.3版本,并配置pycharm运行Mnist手写识别程序

折腾了一天半终于装好了win10下的TensorFlow-GPU版,在这里做个记录. 准备安装包: visual studio 2015: Anaconda3-4.2.0-Windows-x86_64: pycharm-community: CUDA:cuda_8.0.61_win10:下载时选择 exe(local) CUDA补丁:cuda_8.0.61.2_windows: cuDNN:cudnn-8.0-windows10-x64-v6.0;如果你安装的TensorFlow版本和我一样1.

CENTOS7 安装openstack mitaka版本(最新整理完整版附详细截图和操作步骤,添加了cinder和vxlan)

CENTOS7 安装openstack mitaka版本(最新整理完整版附详细截图和操作步骤,添加了cinder和vxlan,附上个节点的配置文件) 实验环境准备: 为了更好的实现分布式mitaka版本的效果.我才有的是VMware的workstations来安装三台虚拟机,分别来模拟openstack的controller节点 compute节点和cinder节点.(我的宿主机配置为 500g 硬盘 16g内存,i5cpu.强烈建议由条件的朋友将内存配置大一点,因为我之前分配的2g太卡.) 注

Windows管理多个java版本--解决&#39;has value &#39;1.8&#39;,but&#39;1.7&#39; is required&#39;的方法

公司考虑到代码的可持续维护性,要求全部使用java7,自己又想在空闲时间学一些java8的新特性,故在安装完1.7之后又安装了1.8,导致eclisp在启动时报’has value ‘1.8’,but’1.7’ is required’的错误,在控制台使用Java -version进行查询发现,依然会报’has value ‘1.8’,but’1.7’ is required’的错误,如下 1 C:>java -version 2 Error: Registry key ‘Software\Ja

pyenv 管理你的python版本

mac 下使用pyenv 1.安装 使用 brew安装pyenv (如果没有brew功能,请自行去网上找怎么安装) brew install pyenv 2.设置 pyenv的家目录,就是把python安装到哪里 # 回到家目录下 cd ~ # 设置环境变量 cat .bash_profile export PYENV_ROOT=/usr/local/var/pyenv if which pyenv > /dev/null; then eval "$(pyenv init -)"

Fuel 5.1安装openstack I版本环境 (ESXi)

Fuel 简介 Fuel是Mirantis公司开发的部署openstack集群工具,主要功能为裸机PXE安装操作系统,master节点提供DHCP. TFTP服务,能够实现openstack服务编排,通过puppet进行配置服务管理,此外还提供了openstack关键服务的健康检查和log实时 查看等基础运维服务.支持openstack服务HA部署,有比较友好的交互式的web界面. 使用Fuel 5.1 安装openstack Icehouse版本 环境介绍 本次环境搭建硬件采用一台通用服务器,

iOS - Git 安装(分布式版本控制系统)

1.在 Windows 上安装 在 Windows 上安装 Git 也有几种安装方法. 官方版本可以在 Git 官方网站下载,打开下载会自动开始.要注意这是一个名为 Git for Windows 的项目(也叫做 msysGit),和 Git 是分别独立的项目,更多信息请访问 github msysgit. 另一个简单的方法是安装 GitHub for Windows.该安装程序包含图形化和命令行版本的 Git.它也能支持 Powershell,提供了稳定的凭证缓存和健全的 CRLF 设置. 2

ORACLE RAC 11.2.0.4 CentOS release 6.9 静默安装1.0版本

RAC11.2.0.4静默安装 1.0版本,20180613 #本文档IP地址使用X隐藏,个人可按照自己的当前环境IP进行适当修改 1. 清除原环境中的单实例软件 #清除原环境: 删除/etc/ora* 删除 /usr/local/bin/oraenv 删除 /usr/local/bin/dbhome 删除 /usr/local/bin/coraenv 删除 $ORACLE_BASE/* 删除 cd /picclife/app  rm -rf * #解释说明: /etc/oratab ?数据库实