Linux
エディション
Hugo には標準エディションと拡張エディションという2つのエディションがあります。 拡張エディションでは以下のことができます。
- イメージ処理 の際に WebP フォーマットが利用できます。 WebP イメージのデコードは、いずれのエディションでもできます。
- 埋め込み LibSass トランスパイラー を使って sass から css への変換 ができます。 拡張エディションでは Dart Sass トランスパイラーを用いる必要がありません。
インストールは拡張エディションをお勧めします。
前提条件
常に必要というわけではありませんが、Hugo での作業を進めるにあたっては Git, Go, Dart Sass がよく用いられます。
Git は以下のために必要です。
- Hugo をソースからビルドする。
- Hugo モジュール 機能を利用する。
- Git サブモジュールとしてテーマをインストールする。
- ローカルの Git リポジトリから コミット情報 を取得する。
- CloudCannon, Cloudflare Pages, GitHub Pages, GitLab Pages, Netlify といったサービスを利用して、サイトをホスティングする。
Go は以下のために必要です。
- Hugo をソースからビルドする。
- Hugo モジュール機能を利用する。
Dart Sass は、Sass 言語の最新機能を使って Sass から CSS へのトランスパイル (transpile) を行うために必要です。
インストール手順については、それぞれのドキュメントを参照してください。
ビルド済みバイナリー
数多くのオペレーティングシステムやアーキテクチャー向けに、ビルド済みバイナリーが利用できます。 最新リリース ページから Assets セクションまでスクロールして以下を行ってください。
- 必要とするエディション、オペレーティングシステム、アーキテクチャー用のアーカイブをダウンロードします。
- アーカイブを展開します。
- 実行ファイルを適当なディレクトリに移動させます。
- そのディレクトリを環境変数 PATH に追加します。
- そのファイルに対して実行権限があることを確認します。
ファイルへの権限追加や環境変数 PATH の変更方法について不明なときは、各オペレーティングシステムのドキュメントを参照してください。
必要とするエディション、オペレーティングシステム、アーキテクチャー用のアーカイブが見つからなかった場合は、これ以降に示す方法によって Hugo をインストールしてください。
パッケージマネージャー
Snap
Snap は Linux 上のフリーかつオープンソースのパッケージマネージャーです。 ほとんどのディストリビューション において利用可能です。 パッケージのインストールはとても簡単であり、また更新も自動で行われます。
snap パッケージの Hugo は 厳密に管理されています (strictly confined)。 snap が厳密に管理されていると、その実行は独立した形で行われ、確実に安全であるとみなされる最小限のアクセスレベルが維持されます。 サイトの生成とビルドにあたっては、そのファイルをホームディレクトリかあるいはリムーバルメディア上に配置する必要があります。
Hugo 拡張エディションをインストールするには以下を実行します。
sudo snap install hugo
リムーバルメディアへのアクセスの有効無効を設定するには以下を実行します。
sudo snap connect hugo:removable-media
sudo snap disconnect hugo:removable-media
SSH 鍵へのアクセスの有効無効を設定するには以下を実行します。
sudo snap connect hugo:ssh-keys
sudo snap disconnect hugo:ssh-keys
Homebrew
Homebrew は macOS および Linux 上のフリーかつオープンソースのパッケージマネージャーです。 Hugo 拡張エディションをインストールするには以下を実行します。
brew install hugo
リポジトリパッケージ
Linux ディストリビューションの多くでは、通常のアプリケーションインストール用リポジトリを用意しています。
Alpine Linux
Alpine Linux に Hugo 拡張エディションをインストールするには以下を実行します。
doas apk add --no-cache --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community hugo
Arch Linux
Arch Linux から派生したディストリビューションには EndeavourOS, Garuda Linux, Manjaro などがあります。 Hugo 拡張エディションをインストールするには以下を実行します。
sudo pacman -S hugo
Debian
Debian から派生したディストリビューションには elementary OS, KDE neon, Linux Lite, Linux Mint, MX Linux, Pop!_OS, Ubuntu, Zorin OS などがあります。 Hugo 拡張エディションをインストールするには以下を実行します。
sudo apt install hugo
Debian パッケージは 最新リリース のページからもダウンロードすることができます。
Exherbo
To install the extended edition of Hugo on Exherbo:
-
Add this line to /etc/paludis/options.conf:
www-apps/hugo extended
-
Install using the Paludis package manager:
cave resolve -x repository/heirecka cave resolve -x hugo
Fedora
Fedora から派生したディストリビューションには CentOS, Red Hat Enterprise Linux などがあります。 Hugo 拡張エディションをインストールするには以下を実行します。
sudo dnf install hugo
Gentoo
Gentoo から派生したディストリビューションには Calculate Linux, Funtoo などがあります。 Hugo 拡張エディションをインストールするには、以下の手順を実行します。
-
/etc/portage/package.use/hugo において USE フラグに
extended
を指定します。www-apps/hugo extended
-
Portage パッケージマネージャーを使ってビルドします。
sudo emerge www-apps/hugo
openSUSE
openSUSE から派生したディストリビューションには GeckoLinux, Linux Karmada などがあります。 Hugo 拡張エディションをインストールするには以下を実行します。
sudo zypper install hugo
Solus
Solus ディストリビューションでは、パッケージリポジトリ内より Hugo を提供しています。 Hugo 拡張エディションをインストールするには以下を実行します。
sudo eopkg install hugo
ソースからのビルド
Hugo の拡張エディションをソースからビルドするには、以下を行う必要があります。
- Git のインストール。
- Go バージョン 1.20 またはそれ以降のインストール。
- C コンパイラーとして GCC または Clang のインストール。
- Go ドキュメント に説明されているような環境変数
PATH
の設定。
インストールディレクトリは、環境変数
GOPATH
とGOBIN
によって制御されます。GOBIN
が設定されている場合、バイナリーはそのディレクトリにインストールされます。GOPATH
が設定されている場合、バイナリはGOPATH
パスリスト内の最初のディレクトリ配下のサブディレクトリ bin にインストールされます。設定されていない場合は、GOPATH
のデフォルトディレクトリ ($HOME/go
または%USERPROFILE%\go
) 配下のサブディレクトリ bin にインストールされます。
そしてビルドとテストを以下のようにして行います。
CGO_ENABLED=1 go install -tags extended github.com/gohugoio/hugo@latest
hugo version
比較対照
ビルド済みバイナリー | パッケージマネージャー | リポジトリパッケージ | ソースからのビルド | |
---|---|---|---|---|
インストールしやすいか? | ✔️ | ✔️ | ✔️ | ✔️ |
アップグレードしやすいか? | ✔️ | ✔️ | 状況次第 | ✔️ |
ダウングレードしやすいか? | ✔️ | ✔️ 1 | 状況次第 | ✔️ |
自動更新するか? | ❌ | 状況次第 2 | ❌ | ❌ |
最新版を入手できるか? | ✔️ | ✔️ | 状況次第 | ✔️ |