Below you will find a few ways of installing Emacs in various operating systems. I use Linux, so I cannot personally vouch for the Mac and Windows sections; the instructions for these operating systems were cobbled together from Internet searches and cleaned up with Claude to be as helpful as possible.
If you have any trouble/comments/recommendations please leave a comment below. You would welcome your assistance in improving the efficacy of this guide.
Quick Recommendations
(Note to self: you really must improve your table CSS.)
| Platform | Best for Beginners | Best for Developers |
|---|---|---|
| Linux | Package Manager | Build from Source |
| macOS | Homebrew | Emacs Plus/Mac |
| Windows | Official Binary | Chocolatey/WSL |
Linux
Package Managers (Recommended)
Debian/Ubuntu (APT)
sudo apt update sudo apt install emacs # Or for no GUI version: sudo apt install emacs-nox
Fedora/RHEL (DNF/YUM)
sudo dnf install emacs # Or for newer systems: sudo yum install emacs
Arch Linux (Pacman)
sudo pacman -S emacs # Or from AUR for git version: yay -S emacs-git
openSUSE (Zypper)
sudo zypper install emacs
Universal Package Formats
Flatpak
flatpak install flathub org.gnu.emacs flatpak run org.gnu.emacs
Snap
sudo snap install emacs --classic
Building from Source (Expert)
I have attempted to build Emacs from source before and met with some difficulties when running the GUI version. I’d only recommend this path for experts.
# Install dependencies first (example for Ubuntu) sudo apt install build-essential libgtk-3-dev libgnutls28-dev \ libtiff5-dev libgif-dev libjpeg-dev libpng-dev libxpm-dev \ libncurses-dev texinfo # Download and build wget https://ftp.gnu.org/gnu/emacs/emacs-29.4.tar.xz tar xvf emacs-29.4.tar.xz cd emacs-29.4 ./configure make -j$(nproc) sudo make install
macOS
Official Binary
- Download from https://emacsformacosx.com/
- Drag Emacs.app to Applications folder
Homebrew (Recommended)
# Standard Emacs brew install emacs # Emacs Plus (with additional features) brew tap d12frosted/emacs-plus brew install emacs-plus@29 # Emacs Mac (native macOS port) brew tap railwaycat/emacsmacport brew install emacs-mac
MacPorts
sudo port install emacs-app # Or for Emacs Mac variant: sudo port install emacs-mac-app
Building from Source
# Install Xcode Command Line Tools first xcode-select --install # Download source wget https://ftp.gnu.org/gnu/emacs/emacs-29.4.tar.xz tar xvf emacs-29.4.tar.xz cd emacs-29.4 # Configure and build ./configure --with-ns --with-native-compilation make -j$(sysctl -n hw.ncpu) make install # Copy to Applications cp -r nextstep/Emacs.app /Applications/
Windows
Official Pre-built Binaries (Recommended for beginners)
- Download from https://ftp.gnu.org/gnu/emacs/windows/
- Extract ZIP file (e.g., emacs-29.4.zip)
- Run
bin\runemacs.exe - Optionally add to PATH or create desktop shortcut
Chocolatey
choco install emacs
Scoop
scoop bucket add extras scoop install emacs
WinGet (Windows Package Manager)
winget install GNU.Emacs
MSYS2 (for development environment)
# In MSYS2 terminal pacman -S mingw-w64-x86_64-emacs
WSL (Windows Subsystem for Linux)
# Install WSL first, then use Linux installation methods # For WSL2 with GUI support: sudo apt update sudo apt install emacs # Run with: emacs
Building from Source (Advanced)
Requires MSYS2 or similar build environment:
# In MSYS2 MINGW64 terminal pacman -S base-devel mingw-w64-x86_64-toolchain pacman -S mingw-w64-x86_64-giflib mingw-w64-x86_64-libtiff \ mingw-w64-x86_64-libjpeg-turbo mingw-w64-x86_64-libpng \ mingw-w64-x86_64-librsvg # Download and build ./configure make make install
Version Managers
Emacs Version Manager (Multiple Versions)
# Install evm git clone https://github.com/rejeep/evm.git ~/.evm # Add to shell config export PATH="$HOME/.evm/bin:$PATH" # Install specific version evm install emacs-29.4 evm use emacs-29.4
Post-Installation
After installing, verify with:
emacs --version
Start Emacs:
- GUI: Run
emacs - Terminal: Run
emacs -nw - Daemon:
emacs --daemon, thenemacsclient -c