Install Erlang and Elixir in CentOS 7
In this tutorial, we will be discussing about how to install Erlang and Elixir in CentOS 7 minimal server. Before installing them, let us see a brief explanation of each.
About Erlang
Erlang is an open source programming language used to build massively scalable soft real-time systems with requirements on high availability. Some of its uses are in telecoms, banking, e-commerce, computer telephony and instant messaging. Erlang’s runtime system has built-in support for concurrency, distribution and fault tolerance. It is designed at the Ericsson Computer Science Laboratory.
About Elixir
Elixir is a dynamic, functional language designed for building scalable and maintainable applications. Elixir leverages the Erlang VM, known for running low-latency, distributed and fault-tolerant systems, while also being successfully used in web development and the embedded software domain.
Now, let us start to install Erlang and Elixir in CentOS 7 64bit minimal server.
Prerequisites
Before installing Erlang and Elixir, we need to install the following prerequisites.
yum update
yum install epel-release
yum install gcc gcc-c++ glibc-devel make ncurses-devel openssl-devel autoconf java-1.8.0-openjdk-devel git wget wxBase.x86_64
Install Erlang
The Erlang version in the official repositories might be older. So, let us download and install the latest Erlang version.
Add Erlang official repository to install the latest Erlang.
To do so, head over to the Erlang repository page, and download the repository depending upon the distribution you use:
Since, we are installing Erlang in CentOS 7, I am going to add the following repository.
wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
Update the repository lists with command:
yum update
Install Erlang using command:
yum install erlang (安装erlang从github上下载速度比较慢,最好centos 服务器上安装shadowsocks客户端 参考文章:http://www.cnblogs.com/weifeng1463/p/8931254.html)
That’s it. The latest Erlang version has been installed.
Verify Erlang
Run the following command to verify whether Erlang is installed or not.
erl
Sample output:
Erlang/OTP 18 [erts-7.3] [source-d2a6d81] [64-bit] [async-threads:10] [hipe] [kernel-poll:false] Eshell V7.3 (abort with ^G)
1>

If you see the Erlang command prompt, it’s working! To close the shell, just press Ctrl-Ctwice.
Test a sample “hello_world” program in Erlang
Create a new file called “hello.erl”.
vi hello.erl
Add the following lines:
-module(hello).
-export([hello_world/0]).
hello_world() -> io:fwrite("hello, world\n").
Save and close the file.
Enter to Erlang shell with command:
erl
Run the following commands one by one. Don’t forget to add dot (.) at the end of each command:
c(hello).
hello:hello_world().
Sample output:

Install Elixir
Elixir is available in EPEL repository, but it is very outdated. So, in order to install latest version, we will compile and install it from source file.
Please be mindful that before installing Elixir, you must install Erlang first.
Git clone to the Elixir repository:
git clone https://github.com/elixir-lang/elixir.git
The above command will clone the latest version to a folder called elixir in the current working directory. I have
Go to the elixir directory:
cd elixir/
Run the following command to start compiling elixir:
make clean test
Sample output:
[...]
Compiled lib/iex/app.ex
Compiled lib/iex.ex
Compiled lib/iex/autocomplete.ex
Compiled lib/iex/cli.ex
Compiled lib/iex/config.ex
Compiled lib/iex/history.ex
Compiled lib/iex/helpers.ex
Compiled lib/iex/introspection.ex
Compiled lib/iex/remsh.ex
Compiled lib/iex/server.ex
Compiled lib/iex/evaluator.ex
Compiled lib/iex/info.ex
Generated iex app
==> elixir (eunit)
All 194 tests passed. ==> elixir (exunit)
............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. Finished in 126.1 seconds (81.7s on load, 44.3s on tests)
2909 tests, 0 failures Randomized with seed 29478
==> ex_unit (exunit)
.......................................................................................................................................................................................... Finished in 8.0 seconds (6.5s on load, 1.5s on tests)
186 tests, 0 failures Randomized with seed 540622
==> logger (exunit)
........................................................................................ Finished in 4.4 seconds (3.9s on load, 0.4s on tests)
88 tests, 0 failures Randomized with seed 662540
==> mix (exunit)
.................................................................................................................................................................................................................................................................................................................. Finished in 91.0 seconds (14.1s on load, 76.8s on tests)
306 tests, 0 failures Randomized with seed 988584
==> eex (exunit)
....................................................................... Finished in 0.9 seconds (0.8s on load, 0.07s on tests)
71 tests, 0 failures Randomized with seed 955314
==> iex (exunit)
........................................................................................................... Finished in 5.7 seconds (3.3s on load, 2.3s on tests)
107 tests, 0 failures Randomized with seed 128154

If the tests pass, you are done.
Now, It is highly recommended to add Elixir’s bin path to your PATH environment variable. Otherwise, Elixir will not work.
To do so, run the following command:
export PATH="$PATH:/root/elixir/bin"
Here, I have installed elixir on /root/elixir/ location. You must replace this path with your actual Elixir installation path.
Verify Elixir
To verify whether Elixir is installed or not, run:
iex
Sample output:
Erlang/OTP 18 [erts-7.3] [source-d2a6d81] [64-bit] [async-threads:10] [hipe] [kernel-poll:false] Interactive Elixir (1.3.0-dev) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)>
If you see the Elixir’s shell prompt, congratulations!
Again, to close the Elixir’s shell, just press Ctrl-C twice.
To check Elixir’s version:
elixir --version
Sample output:
Elixir 1.3.0-dev (bbf7a23)
That’s it. We have now successfully setup working Erlang and Elixir development environment in CentOS 7 server.
Cheers!
参考文章:https://www.unixmen.com/install-erlang-elixir-centos-7/
Install Erlang and Elixir in CentOS 7的更多相关文章
- CentOS 7.7安装Erlang和Elixir
安装之前,先看一下它们的简要说明 Erlang Erlang是一种开源编程语言,用于构建对高可用性有要求的大规模可扩展的软实时系统.它通常用于电信,银行,电子商务,计算机电话和即时消息中.Erlang ...
- rabbitmq install erlang faild
我安装的时候莫名的出现这2个错误 No Presto metadata available for rabbitmq-erlangwarning: /var/cache/yum/x86_64/7/ra ...
- Install FFMPEG and FFMPEG-PHP in CentOS 6 with Virtualmin
Install FFMPEG and FFMPEG-PHP in CentOS 6 with Virtualmin 1 year ago - by Daniel - howto centos v ...
- Erlang 和 Elixir 互相调用 (转)
lixr设计目标之一就是要确保兼容性,可以兼容Erlang和其生态系统.Elixir和Erlang 都是运行同样的虚拟机平台(Erlang Virtual Machine).不管是在Erlang使用E ...
- Erlang 和 Elixir的差异
原文: http://elixir-lang.org/crash-course.html 函数调用 Elixir允许你调用函数的时候省略括号, Erlang不行. Erlang Elixir some ...
- install erlang environment on centos
#(erlide in linux can't detect the runtime if build from source, but erlang shell works correctly)su ...
- [Erlang 0108] Elixir 入门
Erlang Resources里面关于Elixir的资料越来越多,加上Joe Armstrong的这篇文章,对Elixir的兴趣也越来越浓厚,投入零散时间学习了一下.零零散散,测试代码写了一些,Ev ...
- [Erlang 0113] Elixir 编译流程梳理
注意:目前Elixir版本还不稳定,代码调整较大,本文随时失效 之前简单演示过如何从elixir ex代码生成并运行Erlang代码,下面仔细梳理一遍elixir文件的编译过程,书接上文,从 ...
- [Erlang 0112] Elixir Protocols
Why Elixir 为什么要学习Elixir?答案很简单,为了更好的学习Erlang.这么无厘头的理由? Erlang语法设计几乎没有考虑过取悦开发者,所以学习之初的门槛略高.对于已经克服了最初 ...
随机推荐
- 列表控件ListBox关联的MFC中的类:CListBox
列表控件ListBox关联的MFC中的类:CListBox ######################################################## 1.在列表的结尾添加一项: ...
- 利用Excel导出sql语句
在工作中遇到了需要用数据库的insert语句,本来是极其简单的事情,但是碰到了有n个(n很大)字段的表,写insert语句就是极其痛苦的事情了,即使只是复制粘贴也是很费力不讨好的一件事.正好手头有ex ...
- Codeforces 825F - String Compression
825F - String Compression 题意 给出一个字符串,你要把它尽量压缩成一个短的字符串,比如一个字符串ababab你可以转化成3ab,长度为 3,比如bbbacacb转化成3b2a ...
- hiho一下第133周 2-SAT·hihoCoder音乐节(2-SAT)(强连通)
2-SAT·hihoCoder音乐节 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 hihoCoder音乐节由hihoCoder赞助商大力主办,邀请了众多嘉宾和知名乐队 ...
- C++模拟链表
C++模拟链表 简易模拟链表,工厂设计模式.. 注意:请不要在操作时产生环状链表,会造成输出链表时陷入无限循环. #include <iostream> #include <stri ...
- [BZOJ 4031] 小Z的房间
Link: BZOJ 4031 传送门 Solution: 矩阵树定理的模板题 看完下面两篇文章就会啦: 周冬论文:https://wenku.baidu.com/view/872eb02de2bd9 ...
- 左偏树自己的一点理解【hdu1512】【Monkey King】
[pixiv] https://www.pixiv.net/member_illust.php?mode=medium&illust_id=34693563 向大(hei)佬(e)势力学(di ...
- Redis(二)linux下redis安装
上篇讲解了redis在windows下的安装,接下来看看在linux下如何安装redis(纯菜鸟入门级别)? (1)redis的下载及编译 这里,首先进入存放文件目录(我的云服务器的是:cd /jel ...
- 细说JavaScript对象(1):对象的使用和属性
JavaScript 中的一切都可以视为对象,除了两个特例:null 和 undefined. false.toString(); // 'false' [1, 2, 3].toString(); / ...
- java实现点选汉字验证码(自己修改后的)
参考:http://blog.csdn.net/qq_26680031/article/details/51168527 package com.rd.p2p.web; import java.awt ...