CentOS 7 安装 Erlang 和 Elixir

Starting off with a fresh version of CentOS 7 minimal and trying to install Erlang and Elixir can be very frustrating.

The CentOS 7 Minimal install definitely holds up to its name (it really is bare bones), and the Erlang and Elixir packages are out-of-date on the repositories.

Don't worry though! In this article I'm going to take you through what turns out to be really simple steps to get the latest versions of Erlang and Elixir up and running on this minimal install.

First Things First

If you haven't already gotten a CentOS 7 Virtual Machine (VM) up and running take a look at my latest article for guidance.

Link to the article: Install a CentOS 7 Minimal Virtual Machine with VirtualBox

For those of you that do have your CentOS 7 VM up and running, lets get going!

Use a terminal, not the VirtualBox window

The very first thing I do is minimize my VM and ssh in from my local terminal (in this case iTerm 2). Because our VM is a minimal version of CentOS we won't have a graphical windows manager to make everything look pretty and scale on our nice HD displays. Everything will be done from the command-line anyways so I'd rather use a terminal that I can stretch or copy/paste from anytime I'd like. It's easier to do this from a terminal rather than the small command-line window VirtualBox is providing.

If you're having problems ssh'ing into your VM go back and take a look at the last few sections of the previous article mentioned above.

Down to business

There are two steps that could be considered the most important things to do before anything else. Mapping to the Extra Packages for Enterprise Linux (EPEL) repository and updating the tools already installed in our VM.

I choose to map the EPEL first. This can be done with the simple command:

sudo yum install epel-release

sudo allows us to gain root privileges temporarily with our account as long as the account is in the sudoers list.

Now we need to make sure the packages installed with our minimal os are update-to-date. The following command will update every package on the system and attempt to remove obsolete packages.

sudo yum -y update && sudo yum -y upgrade

The next command will install the development tools we'll need to install Erlang.

sudo yum install gcc gcc-c++ glibc-devel make ncurses-devel openssl-devel autoconf java-1.8.0-openjdk-devel git

wxBase contains libraries needed by Erlang

sudo yum install wxBase.x86_64

wget is a tool that can retrieve files using http, https, and ftp.

sudo yum -y install wget

Now we can get on with installing Erlang and Elixir. First we need tell yum where it can find the latest stable release of Erlang, which at the time of writing this article is version 18.0. erlang-solutions.com hosts the package that I am going to use for this article.

The next two commands retrieve a package that adds a new repository to our repository list, and installs it.

wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
sudo rpm -Uvh erlang-solutions-1.0-1.noarch.rpm

Now that our system knows where to get the latest stable release of Erlang we can actually install it. The esl-erlang package is the complete Erlang/OTP installation package. This is what we'll need to install Elixir.

sudo yum install esl-erlang

Now that we've successfully installed Erlang it's time to install Elixir!
We'll have to install Elixir manually as the version in the repo is far behind, but first we'll need to create the directory where we'll place Elixir.

sudo mkdir /opt/elixir

Now clone the Elixir repo from github.

sudo git clone https://github.com/elixir-lang/elixir.git /opt/elixir

Change your working directory to the location we just cloned Elixir into.

cd /opt/elixir

Now we can compile the elixir source. This step may take a couple of minutes.

sudo make clean test

Eventually we'll see all of the Elixir tests pass and we can finish up the process by creating a few symbolic links so that our newly compiled binaries can be used by all.

sudo ln -s /opt/elixir/bin/iex /usr/local/bin/iex
sudo ln -s /opt/elixir/bin/mix /usr/local/bin/mix
sudo ln -s /opt/elixir/bin/elixir /usr/local/bin/elixir
sudo ln -s /opt/elixir/bin/elixirc /usr/local/bin/elixirc

Wrapping it up

That's it! We now have an up-to-date Erlang and Elixir dev machine. Now may be a good time to go ahead and take a snapshot of the VM so that you can start another VM with the setup already done.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 他见苏晓荟眉头轻皱,眼神迷茫,便知道她没有认出自己,不由得有些失落,径自拉开她对面的椅子坐了下去,“我是你的高二同...
    邵悦婷阅读 487评论 0 5
  • 我无法赞美羊角般蜿蜒的目光切实的风霜教会我花非花,雾非雾月光也只是镜面所能承载的唯一的寂 花非花雾非雾征文活动
    苏望阅读 365评论 7 4
  • 今年7月份父母收到了面谈通知书,马上安排预约广州体检中心日期。这个体检,事前要填好体检表格,发送电子邮件到体俭中心...
    Eileen_b027阅读 874评论 0 0
  • 今生你是我设下的一局棋,来世我做你宛若梅花的妻。 然,错过了灿烂的花期,违约了芬芳的邀请。 我生于江南,亦是爱极了...
    女神小雨阅读 319评论 0 1