Erlang在Ubuntu上的配置与安装:新手也能搞定
发布时间: 2024-12-12 12:23:24 阅读量: 9 订阅数: 5
可在ubuntu上安装erlang的deb包
5星 · 资源好评率100%
![Erlang在Ubuntu上的配置与安装:新手也能搞定](https://www.wangs.id/wp-content/uploads/2023/12/1-33-1024x577.webp)
# 1. Erlang语言简介与安装需求
## Erlang语言概述
Erlang是一种专为构建并发、分布式、容错的软件而设计的函数式编程语言。由于其独特的体系结构,Erlang在电信、银行和即时通讯等领域得到了广泛应用。Erlang的开发强调高可用性和易扩展性,使得它在高并发处理场景下表现优异。
## 安装Erlang的重要性
对于希望利用Erlang进行开发的用户来说,首先要面对的挑战就是环境的搭建。一个正确配置的Erlang环境对于开发效率和程序性能至关重要。接下来的章节会逐步介绍在不同操作系统上安装和配置Erlang的各种方法。
## 安装需求概览
在安装Erlang之前,需要评估系统是否满足其运行所需的基本条件。这通常包括操作系统版本支持、内存大小、磁盘空间等。本章将概述Erlang的基本安装要求,并简要介绍各种安装途径,以便读者能够根据自己的具体需求和偏好选择最佳的安装方式。
# 2. Erlang在Ubuntu系统上的安装方法
## 2.1 前置依赖和系统要求
### 2.1.1 Ubuntu版本支持与兼容性
在安装Erlang之前,首先需要了解Erlang对不同Ubuntu版本的支持情况。Erlang的包管理器(如APT)在不同版本的Ubuntu上有不同的兼容性,旧版本可能不支持最新版本的Erlang。
```bash
# Ubuntu版本检测
lsb_release -a
```
- **lsb_release** 是一个工具用于查询发行版的详细信息,如版本号。
- **-a** 参数是列出所有可用的信息。
通常建议使用较新的Ubuntu版本,如Ubuntu 20.04 LTS或Ubuntu 18.04 LTS,因为它们通常提供更好的软件包支持和系统安全性。
### 2.1.2 必要依赖包的安装
安装Erlang之前,需要确保系统已经安装了一系列必要的依赖包。这些依赖包包括编译工具、压缩工具以及其他一些系统库。下面是一个安装依赖包的示例命令:
```bash
sudo apt-get update
sudo apt-get install build-essential libncurses5-dev libssl-dev libwxgtk3.0-gtk3-dev libgl1-mesa-dev libglu1-mesa-dev libpng-dev
```
- **build-essential** 是包含编译器和开发工具的软件包。
- **libncurses5-dev** 是C++库,用于构建基于文本的用户界面。
- **libssl-dev** 是OpenSSL的开发文件,很多库需要它们来支持SSL。
- **libwxgtk3.0-gtk3-dev** 是wxWidgets GUI库的开发文件。
- **libgl1-mesa-dev** 和 **libglu1-mesa-dev** 为开发OpenGL应用程序提供支持。
- **libpng-dev** 是生成或解码PNG图片格式文件的库。
## 2.2 通过源代码编译安装
### 2.2.1 下载Erlang源代码
编译安装Erlang首先需要从官方源下载Erlang的源代码包:
```bash
wget https://github.com/erlang/otp/releases/download/OTP-24.0/otp_src_24.0.tar.gz
```
- **wget** 是一个用来从网络上自动下载文件的工具。
- 下载的文件版本号 **24.0** 应当根据最新的稳定版本进行调整。
### 2.2.2 源代码编译与配置步骤
下载完成后,需要进行解压和编译配置:
```bash
tar -xzf otp_src_24.0.tar.gz
cd otp_src_24.0
./configure --prefix=/usr/local/erlang/24.0
```
- **tar** 是压缩和解压文件的工具,其中 **-xzf** 参数用于解压指定格式的文件。
- **./configure** 是脚本,用于检测系统环境并生成Makefile文件。
- **--prefix** 指定安装路径,建议使用版本号作为子目录以区分不同版本的Erlang。
编译和安装过程:
```bash
make
sudo make install
```
- **make** 是一个编译工具,编译源代码文件。
- **sudo** 允许用户以超级用户的身份执行命令。
- **make install** 安装编译好的程序。
## 2.3 利用APT仓库安装
### 2.3.1 添加Erlang官方APT仓库
通过添加Erlang的官方APT仓库,可以更方便地安装和升级Erlang。以下是如何添加Erlang官方APT仓库的步骤:
```bash
wget https://packages.erlang-solutions.com/erlang-solutions_2.0_all.deb
sudo dpkg -i erlang-solutions_2.0_all.deb
```
- **wget** 命令用于从网络上下载文件。
- **dpkg -i** 用于安装下载好的deb包。
安装完成后,更新APT源列表:
```bash
sudo apt-get update
```
### 2.3.2 更新APT源并安装Erlang
更新了APT源后,就可以安装Erlang了。可以选择安装特定版本的Erlang:
```bash
sudo apt-get install erlang-nox=1:24.0.*
```
- **erlang-nox** 包含了对图形用户界面支持的Erlang编译器。
- **=1:24.0.\*** 指定安装24.0版本的Erlang,星号(*)是为了确保安装最新版的补丁。
这样就完成了Erlang在Ubuntu系统上的安装。接下来,你需要设置环境变量以确保Erlang可以被命令行正确调用。
# 3. Erlang环境配置与测试
## 3.1 环境变量的设置
Erlang安装完成后,需要设置环境变量以便在命令行中直接使用Erlang的命令,进行各种操作。环境变量的设置对于任何依赖于shell脚本语言的程序来说都是一个不可或缺的步骤。
### 3.1.1 Erlang命令的路径配置
首先,需要将Erlang的安装路径下的`bin`目录添加到系统的PATH环境变量中。这样,就可以在任何目录下使用`erl`、`erlc`等Erlang的命令行工具了。
假设Erlang安装在`/usr/local/lib/erlang`目录下,可以通过以下命令进行路径配置:
```sh
export PATH=$PATH:/usr/local/lib/erlang/bin
```
该命令可以在shell的配置文件中添加,如`.bashrc`或`.zshrc`文件,以使每次打开新的shell时自动执行环境变量的配置。
### 3.1.2 Erlang运行时环境变量的配置
除了命令路径之外,还需要为Erlang运行时环境设置一些特定的环境变量,如`ERL_LIBS`和`ERL_CRASH_DUMP`等。`ERL_LIBS`变量用于指定额外的库路径,而`ERL_CRASH_DUMP`则定义了系统崩溃时的转储文件位置。
例如,如果你有一个自定义的库目录`/home/user/my_libs`,你可以通过以下方式添加到环境变量中:
```sh
export ERL_LIBS=/home/user/my_libs:$ERL_LIBS
```
而崩溃转储文件的位置可以通过如下设置指定:
```sh
export ERL_CRASH_DUMP="/var/log/erlang_crash.dump"
```
### 代码块与逻辑分析
上述操作中,所有命令均针对bash shell,如果使用的是其他shell如zsh,路径配置命令稍有不同。
```sh
# 对于zsh,需要在.zshrc文件中添加
export PATH="/usr/local/lib/erlang/bin:$PATH"
export ERL_LIBS="/home/user/my_libs:$ERL_LIBS"
export ERL_CRASH_DUMP="/var/log/erlang_crash.dump"
```
然后,需要执行`source .zshrc`来立即应用更改,或者重新开启一个新的shell会话。
## 3.2 Erlang版本管理工具的使用
随着Erlang版本的更新,以及开发中可能需要频繁切换不同版本的Erlang环境,一个好用的版本管理工具显得尤为重要。
### 3.2.1 使用kerl管理不同版本的Erlang
`kerl`是一个用于安装和管理不同版本Erlang的工具。它允许用户在不同的版本之间进行切换,并且可以快速安装和配置新版本的Erlang。
首先需要安装`kerl`:
```sh
# 在Ubuntu上安装kerl
wget https://raw.githubusercontent.com/kerl/kerl/master/kerl
chmod a+x kerl
mv kerl /usr/local/bin/
```
安装完成后,可以使用`kerl`安装一个指定的Erlang版本:
```sh
# 安装一个版本的Erlang
kerl build 23.0.1 my_first_erlang
kerl
```
0
0