HUGO
News Docs Themes Community GitHub

Linux

Install Hugo on Linux.

Editions

Hugo is available in three editions: standard, extended, and extended/deploy. While the standard edition provides core functionality, the extended and extended/deploy editions offer advanced features.

Featureextended editionextended/deploy edition
Encode to the WebP format when processing images. You can decode WebP images with any edition.✔️✔️
Transpile Sass to CSS using the embedded LibSass transpiler. You can use the Dart Sass transpiler with any edition.✔️✔️
Deploy your site directly to a Google Cloud Storage bucket, an AWS S3 bucket, or an Azure Storage container. See  details.✔️

Unless your specific deployment needs require the extended/deploy edition, we recommend the extended edition.

Prerequisites

Although not required in all cases, Git, Go, and Dart Sass are commonly used when working with Hugo.

Git is required to:

Go is required to:

  • Build Hugo from source
  • Use the Hugo Modules feature

Dart Sass is required to transpile Sass to CSS when using the latest features of the Sass language.

Please refer to the relevant documentation for installation instructions:

Prebuilt binaries

Prebuilt binaries are available for a variety of operating systems and architectures. Visit the latest release page, and scroll down to the Assets section.

  1. Download the archive for the desired edition, operating system, and architecture
  2. Extract the archive
  3. Move the executable to the desired directory
  4. Add this directory to the PATH environment variable
  5. Verify that you have execute permission on the file

Please consult your operating system documentation if you need help setting file permissions or modifying your PATH environment variable.

If you do not see a prebuilt binary for the desired edition, operating system, and architecture, install Hugo using one of the methods described below.

Package managers

Snap

Snap is a free and open-source package manager for Linux. Available for most distributions, snap packages are simple to install and are automatically updated.

The Hugo snap package is strictly confined. Strictly confined snaps run in complete isolation, up to a minimal access level that’s deemed always safe. The sites you create and build must be located within your home directory, or on removable media.

To install the extended edition of Hugo:

sudo snap install hugo

To enable or revoke access to removable media:

sudo snap connect hugo:removable-media
sudo snap disconnect hugo:removable-media

To enable or revoke access to SSH keys:

sudo snap connect hugo:ssh-keys
sudo snap disconnect hugo:ssh-keys

Homebrew

Homebrew is a free and open-source package manager for macOS and Linux. To install the extended edition of Hugo:

brew install hugo

Repository packages

Most Linux distributions maintain a repository for commonly installed applications.

The Hugo version available in package repositories varies based on Linux distribution and release, and in some cases will not be the latest version.

Use one of the other installation methods if your package repository does not provide the desired version.

Alpine Linux

To install the extended edition of Hugo on Alpine Linux:

doas apk add --no-cache --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community hugo

Arch Linux

Derivatives of the Arch Linux distribution of Linux include EndeavourOS, Garuda Linux, Manjaro, and others. To install the extended edition of Hugo:

sudo pacman -S hugo

Debian

Derivatives of the Debian distribution of Linux include elementary OS, KDE neon, Linux Lite, Linux Mint, MX Linux, Pop!_OS, Ubuntu, Zorin OS, and others. To install the extended edition of Hugo:

sudo apt install hugo

You can also download Debian packages from the latest release page.

Exherbo

To install the extended edition of Hugo on Exherbo:

  1. Add this line to /etc/paludis/options.conf:

    www-apps/hugo extended
    
  2. Install using the Paludis package manager:

    cave resolve -x repository/heirecka
    cave resolve -x hugo
    

Fedora

Derivatives of the Fedora distribution of Linux include CentOS, Red Hat Enterprise Linux, and others. To install the extended edition of Hugo:

sudo dnf install hugo

Gentoo

Derivatives of the Gentoo distribution of Linux include Calculate Linux, Funtoo, and others. To install the extended edition of Hugo:

  1. Specify the extended USE flag in /etc/portage/package.use/hugo:

    www-apps/hugo extended
    
  2. Build using the Portage package manager:

    sudo emerge www-apps/hugo
    

NixOS

The NixOS distribution of Linux includes Hugo in its package repository. To install the extended edition of Hugo:

nix-env -iA nixos.hugo

openSUSE

Derivatives of the openSUSE distribution of Linux include GeckoLinux, Linux Karmada, and others. To install the extended edition of Hugo:

sudo zypper install hugo

Solus

The Solus distribution of Linux includes Hugo in its package repository. To install the extended edition of Hugo:

sudo eopkg install hugo

Void Linux

To install the extended edition of Hugo on Void Linux:

sudo xbps-install -S hugo

Build from source

To build the extended or extended/deploy edition from source you must:

  1. Install Git
  2. Install Go version 1.23.0 or later
  3. Install a C compiler, either GCC or Clang
  4. Update your PATH environment variable as described in the Go documentation

The install directory is controlled by the GOPATH and GOBIN environment variables. If GOBIN is set, binaries are installed to that directory. If GOPATH is set, binaries are installed to the bin subdirectory of the first directory in the GOPATH list. Otherwise, binaries are installed to the bin subdirectory of the default GOPATH ($HOME/go or %USERPROFILE%\go).

To build the standard edition:

go install github.com/gohugoio/hugo@latest

To build the extended edition:

CGO_ENABLED=1 go install -tags extended github.com/gohugoio/hugo@latest

To build the extended/deploy edition:

CGO_ENABLED=1 go install -tags extended,withdeploy github.com/gohugoio/hugo@latest

Comparison

Prebuilt binariesPackage managersRepository packagesBuild from source
Easy to install?✔️✔️✔️✔️
Easy to upgrade?✔️✔️varies✔️
Easy to downgrade?✔️✔️ 1varies✔️
Automatic updates?varies 2
Latest version available?✔️✔️varies✔️

  1. Easy if a previous version is still installed. ↩︎

  2. Snap packages are automatically updated. Homebrew requires advanced configuration. ↩︎