Linux下编译安装Erlang和Elixir
Elixir介绍Elixir 是一个基于 Erlang 虚拟机的函数式、面向并行的通用编程语言。Elixir 以 Erlang 为基础,支持分布式、高容错、实时应用程序的开发,同时亦对其进行扩展使之借助宏实现元编程,并通过协议支持多态。其实Elixir的出现是为了解决Erlang语法过于生涩,尽管Erlang的语法是为了迫使系统的错误能尽早地出现,甚至在编译时就反映出运行时的错误。但它的繁琐其实反
Elixir介绍
Elixir 是一个基于 Erlang 虚拟机的函数式、面向并行的通用编程语言。Elixir 以 Erlang 为基础,支持分布式、高容错、实时应用程序的开发,同时亦对其进行扩展使之借助宏实现元编程,并通过协议支持多态。
其实Elixir的出现是为了解决Erlang语法过于生涩,尽管Erlang的语法是为了迫使系统的错误能尽早地出现,甚至在编译时就反映出运行时的错误。但它的繁琐其实反过来限制了程序员的思维,太难让人进行高效编程。
Elixir 语言的设计者的目标是在维持与现有 Erlang 工具链及生态环境兼容性的同时,让人们可以在 Erlang 虚拟机上进行扩展性更好的、高生产率的开发。Elixir 是编写高度并行处理,高可靠性应用的极佳选择。
Elixir的语法在向Ruby致敬,同时透着Erlang和Prolog的灵气。任何语言语法的设计都和其创始人的偏好和目标分不开,Ken Thompson/Rob Pike的golang看上去很C,Jose Valim的Elixir自然就很Ruby。
网站
官网地址:https://www.elixir-lang.org/
源码:https://github.com/elixir-lang/elixir
安装
一.解决依赖
因为Elixir构建于Erlang之上,所以我们先需要把Erlang装起来。这里我们先解决依赖:
如果是CentOS,请输入如下命令:
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses ncurses-devel openssl-devel zlib zlin-devel
如果是Ubuntu,请输入如下命令:
sudo apt-get install libncurses5-dev m4 fop freeglut3-dev libwxgtk2.8-dev g++ libssl-dev xsltproc build-essential tk8.5 unixodbc unixodbc-dev libxml2-utils
二.安装java8
这里java安装其实是可选的,编译Erlang-OTP时候会检查java编译器是否存在。不过个人建议还是安装下,具体安装见本人另一篇博文:Linux安装java8。
三.安装Erlang-OTP
Erlang官网最新的Erlang-OTP版本是20.2,就安装这个,先下载文件,然后解压到自己定义的软件目录,比如我的/home/soft
目录:
:
wget http://erlang.org/download/otp_src_20.2.tar.gz
tar –xzvf otp_src_20.2.tar.gz
cd otp_src_20.2
./configure
make -j8 && make install
如果Terminal终端下输入:erl ,会有个Eshell出现,证明Erlang安装成功!如下:
Erlang/OTP 20 [erts-9.2] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V9.2 (abort with ^G)
1>
四.安装Elixir
然后来安装Elixir,最新的Elixir版本是1.5.3:
wget https://github.com/elixir-lang/elixir/releases/download/v1.5.3/Precompiled.zip
mkdir -p /home/soft/Elixir
cp Precompiled.zip /home/soft/Elixir
cd /home/soft/Elixir
unzip Precompiled.zip
然后vim ~/.bashrc
,修改配置环境变量,添加下面两句:
export ELIXIR_HOME=/home/soft/Elixir
export PATH="$PATH:$ELIXIR_HOME/bin"
最后source ~/.bashrc
使其生效。
五.测试和第一个程序
终端输入elixir -v
,如果打印出:
Erlang/OTP 20 [erts-9.2] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false]
Elixir 1.5.3
证明Elixir环境安装成功!
新建一个名为hello.exs的文件,写入以下代码:
IO.puts "hello world"
执行elixir hello.exs
,如果打印出hello world
,证明Elixir编译执行成功!
更多推荐
所有评论(0)