在Linux系统中安装Emacs是许多开发者和爱好者的常见需求,Emacs作为一款功能强大的文本编辑器,以其高度可定制性和丰富的扩展生态著称,本文将详细介绍在Linux上安装Emacs的多种方法,包括使用系统包管理器、Snap/Flatpak通用包管理器、从源码编译以及使用版本管理工具,同时涵盖安装后的基本配置和常见问题解决。
使用系统包管理器安装(推荐新手)
大多数Linux发行版都提供了官方软件仓库,其中包含预编译好的Emacs包,这是最简单、最快速的安装方式,不同发行版的包管理器命令有所不同,以下是常见发行版的操作步骤:
Debian/Ubuntu/Mint等基于Debian的发行版
使用apt
包管理器,操作前需更新软件包列表:
sudo apt update sudo apt install emacs
若需安装特定版本(如Emacs 29),可添加PPA源(以Kelley’s Emacs PPA为例,提供较新版本):
sudo add-apt-repository ppa:kelleyk/emacs sudo apt update sudo apt install emacs29 # 安装指定版本
Fedora/CentOS/RHEL等基于Red Hat的发行版
使用dnf
(Fedora 34+)或yum
(旧版),Fedora默认仓库通常包含较新版本:
# Fedora sudo dnf install emacs # CentOS/RHEL(需先安装EPEL源) sudo yum install epel-release sudo yum install emacs
Arch Linux
使用pacman
包管理器,Arch的仓库版本通常较新:
sudo pacman -S emacs
openSUSE
使用zypper
包管理器:
sudo zypper install emacs
不同发行版包管理器命令对比表:
发行版系列 | 包管理器 | 安装命令 | 更新命令 | 卸载命令 |
---|---|---|---|---|
Debian/Ubuntu | apt | sudo apt install emacs |
sudo apt upgrade emacs |
sudo apt remove emacs |
Fedora | dnf | sudo dnf install emacs |
sudo dnf update emacs |
sudo dnf remove emacs |
Arch Linux | pacman | sudo pacman -S emacs |
sudo pacman -Syyu |
sudo pacman -R emacs |
openSUSE | zypper | sudo zypper install emacs |
sudo zypper up emacs |
sudo zypper rm emacs |
优点:操作简单,依赖自动处理,与系统集成度高;
缺点:仓库版本可能滞后,无法自定义编译选项(如禁用GUI、启用特定模块)。
使用Snap或Flatpak安装(跨发行版通用)
Snap和Flatpak是跨发行版的通用包管理工具,能解决不同系统版本差异问题,尤其适合需要特定版本或隔离环境的场景。
使用Snap安装
Snap由Canonical开发,多数现代Linux发行版支持(需先安装snapd):
# 安装snapd(Ubuntu/Debian已预装,其他系统需单独安装) sudo apt install snapd # Debian/Ubuntu sudo dnf install snapd # Fedora # 安装Emacs(--classic表示需要系统权限,完整功能) sudo snap install emacs --classic
使用Flatpak安装
Flatpak由 freedesktop.org 推广,需先安装Flatpak和Flathub源:
# 安装Flatpak sudo apt install flatpak # Debian/Ubuntu sudo dnf install flatpak # Fedora # 添加Flathub源(Emacs官方发布渠道) flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo # 安装Emacs flatpak install flathub org.gnu.emacs
启动时需使用flatpak run org.gnu.emacs
,可通过创建桌面快捷键简化操作。
优点:版本独立,自动更新,环境隔离;
缺点:启动较慢,占用空间较大,部分系统功能可能受限(如访问设备文件)。
从源码编译安装(适合高级用户)
若需使用最新开发版、自定义编译选项(如启用原生编译、支持GTK3等),或官方仓库版本过旧,可选择从源码编译,以下是通用步骤:
安装编译依赖
不同发行版依赖包名不同,需提前安装:
# Debian/Ubuntu sudo apt build-dep emacs # 自动安装编译所需的依赖包 sudo apt install libgtk-3-dev libx11-dev libxpm-dev libjpeg-dev libpng-dev libgif-dev libtiff-dev libncurses5-dev libxml2-dev libgpm-dev # Fedora sudo dnf install emacs-devel gtk3-devel libX11-devel libXpm-devel libjpeg-turbo-devel libpng-devel giflib-devel libtiff-devel ncurses-devel libxml2-devel gpm-devel # Arch Linux sudo pacman -S base-devel gtk3 libxpm libjpeg-turbo libpng giflib libtiff ncurses libxml2 gpm
下载源码
从GNU官网或GitHub获取最新源码(以GNU官网为例):
wget https://ftp.gnu.org/gnu/emacs/emacs-29.3.tar.xz # 替换为最新版本 tar -xvf emacs-29.3.tar.xz cd emacs-29.3
配置编译选项
运行./configure
可自定义功能,常用选项:
./configure --prefix=/usr/local # 安装路径(默认/usr/local) --with-x-toolkit=gtk3 # 使用GTK3界面 --with-native-compilation # 启用原生编译(提升Lisp性能) --with-json # 支持JSON解析 --without-selinux # 禁用SELinux支持(可选)
若需查看所有选项,运行./configure --help
。
编译并安装
make -j$(nproc) # 使用多核并行编译(加速) sudo make install # 安装到系统
优点:功能高度自定义,可获取最新功能;
缺点:依赖复杂,编译耗时,需手动处理版本更新。
使用版本管理工具(EVM)
若需同时管理多个Emacs版本(如测试不同版本兼容性),可使用Emacs Version Manager(EVM)
,类似Node.js的nvm:
安装EVM
curl -L -O https://github.com/rejeep/evm/raw/master/scripts/install-evm.sh bash install-evm.sh echo 'eval "$(evm init -)"' >> ~/.bashrc # 初始化(根据shell类型调整) source ~/.bashrc
安装并切换Emacs版本
evm install 29.1 # 安装指定版本(从GitHub或GNU官网下载) evm use 29.1 # 切换到29.1版本 evm list # 查看已安装版本 evm global 29.1 # 设置默认版本
优点:灵活切换版本,便于多环境测试;
缺点:需预先编译或下载各版本,占用额外磁盘空间。
安装后基本配置
安装完成后,首次启动Emacs可运行emacs
命令,首次启动会自动生成配置文件~/.emacs.d/init.el
,以下为简单配置示例(在init.el
中添加):
;; 设置字体(需系统已安装字体) (set-face-attribute 'default nil :font "Fira Code-12") ;; 禁启动欢迎页 (setq inhibit-startup-message t) ;; 显示行号 (global-display-line-numbers-mode t) ;; 主题(需安装主题包,如doom-themes) (load-theme 'doom-one t)
保存后重启Emacs即可生效,更多配置可通过扩展包(如use-package)进一步优化。
相关问答FAQs
Q1:安装时提示依赖包缺失怎么办?
A:依赖包缺失通常因系统未安装编译或运行所需库,解决方法:
- 若使用包管理器安装,运行
sudo apt build-dep emacs
(Debian/Ubuntu)或sudo dnf builddep emacs
(Fedora)自动安装编译依赖; - 若从源码编译,根据错误提示安装对应库(如“未找到gtk3-dev”则安装
libgtk-3-dev
); - 确保系统已更新:
sudo apt update && sudo apt upgrade
(Debian/Ubuntu)或sudo dnf update
(Fedora)。
Q2:如何更新已安装的Emacs?
A:更新方式取决于安装方式:
- 包管理器:
sudo apt upgrade emacs
(Debian/Ubuntu)或sudo dnf update emacs
(Fedora); - Snap:
sudo snap refresh emacs
; - Flatpak:
flatpak update org.gnu.emacs
; - 源码编译:需重新下载最新源码,重复编译安装步骤(
make clean
清理旧文件后重新./configure && make && sudo make install
); - EVM:
evv update 29.1
(更新指定版本)或evv install latest
(安装最新版)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/28830.html