Linux
版本
Hugo 有三个版本:标准版、扩展版和扩展/部署版。标准版提供核心功能,而扩展版和扩展/部署版提供高级功能。
功能 | 扩展版 | 扩展/部署版 |
---|---|---|
在处理图像时,编码为 WebP 格式。您可以使用任何版本解码 WebP 图像。 | ✔️ | ✔️ |
使用嵌入式 LibSass 转译器将 Sass 转译为 CSS。您可以使用任何版本的Dart Sass 转译器。 | ✔️ | ✔️ |
直接将您的网站部署到 Google Cloud Storage 存储桶、AWS S3 存储桶或 Azure Storage 容器。请参阅详细信息。 | ❌ | ✔️ |
除非您的特定部署需求需要扩展/部署版本,否则我们建议使用扩展版本。
先决条件
虽然并非在所有情况下都需要,但在使用 Hugo 时,Git、Go 和 Dart Sass 是常用的。
Git 是以下情况所必需的
- 从源代码构建 Hugo
- 使用Hugo 模块功能
- 将主题安装为 Git 子模块
- 从本地 Git 存储库访问提交信息
- 使用诸如 CloudCannon、Cloudflare Pages、GitHub Pages、GitLab Pages 和 Netlify 之类的服务托管您的网站
Go 是以下情况所必需的
- 从源代码构建 Hugo
- 使用 Hugo 模块功能
当使用 Sass 语言的最新功能时,需要 Dart Sass 将 Sass 转译为 CSS。
请参阅相关文档以获取安装说明
预构建的二进制文件
预构建的二进制文件适用于各种操作系统和架构。访问最新版本页面,并向下滚动到“资源”部分。
- 下载所需版本、操作系统和架构的存档
- 解压存档
- 将可执行文件移动到所需目录
- 将此目录添加到 PATH 环境变量
- 验证您是否对该文件具有执行权限
如果您需要帮助设置文件权限或修改 PATH 环境变量,请查阅您的操作系统文档。
如果您没有看到所需版本、操作系统和架构的预构建二进制文件,请使用下面描述的方法之一安装 Hugo。
包管理器
Snap
Snap 是适用于 Linux 的免费开源包管理器。Snap 包可用于大多数发行版,易于安装,并且会自动更新。
Hugo snap 包是严格限制的。严格限制的 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
Linux 的 Arch Linux 发行版的衍生版本包括 EndeavourOS、Garuda Linux、Manjaro 等。要安装 Hugo 的扩展版
sudo pacman -S hugo
Debian
Linux 的 Debian 发行版的衍生版本包括 elementary OS、KDE neon、Linux Lite、Linux Mint、MX Linux、Pop!_OS、Ubuntu、Zorin OS 等。要安装 Hugo 的扩展版
sudo apt install hugo
您也可以从最新版本页面下载 Debian 软件包。
Exherbo
要在 Exherbo 上安装 Hugo 的扩展版
-
将以下行添加到 /etc/paludis/options.conf
www-apps/hugo extended
-
使用 Paludis 包管理器安装
cave resolve -x repository/heirecka cave resolve -x hugo
Fedora
Linux 的 Fedora 发行版的衍生版本包括 CentOS、Red Hat Enterprise Linux 等。要安装 Hugo 的扩展版
sudo dnf install hugo
Gentoo
Linux 的 Gentoo 发行版的衍生版本包括 Calculate Linux、Funtoo 等。要安装 Hugo 的扩展版
-
在 /etc/portage/package.use/hugo 中指定
extended
USE 标志www-apps/hugo extended
-
使用 Portage 包管理器构建
sudo emerge www-apps/hugo
NixOS
Linux 的 NixOS 发行版在其软件包仓库中包含了 Hugo。要安装 Hugo 的扩展版
nix-env -iA nixos.hugo
openSUSE
Linux 的 openSUSE 发行版的衍生版本包括 GeckoLinux、Linux Karmada 等。要安装 Hugo 的扩展版
sudo zypper install hugo
Solus
Linux 的 Solus 发行版在其软件包仓库中包含了 Hugo。要安装 Hugo 的扩展版
sudo eopkg install hugo
Void Linux
要在 Void Linux 上安装 Hugo 的扩展版
sudo xbps-install -S hugo
从源代码构建
要从源代码构建扩展版或扩展/部署版,您必须
安装目录由
GOPATH
和GOBIN
环境变量控制。如果设置了GOBIN
,则二进制文件将安装到该目录。如果设置了GOPATH
,则二进制文件将安装到GOPATH
列表中第一个目录的 bin 子目录。否则,二进制文件将安装到默认GOPATH
($HOME/go
或%USERPROFILE%\go
) 的 bin 子目录中。
要构建标准版
go install github.com/gohugoio/hugo@latest
要构建扩展版
CGO_ENABLED=1 go install -tags extended github.com/gohugoio/hugo@latest
要构建扩展/部署版
CGO_ENABLED=1 go install -tags extended,withdeploy github.com/gohugoio/hugo@latest
比较
预构建的二进制文件 | 软件包管理器 | 仓库软件包 | 从源代码构建 | |
---|---|---|---|---|
易于安装? | ✔️ | ✔️ | ✔️ | ✔️ |
易于升级? | ✔️ | ✔️ | 各不相同 | ✔️ |
易于降级? | ✔️ | ✔️ 1 | 各不相同 | ✔️ |
自动更新? | ❌ | 各不相同 2 | ❌ | ❌ |
可以使用最新版本? | ✔️ | ✔️ | 各不相同 | ✔️ |