Hugo安装
1. Linux
在 Linux 上安装 Hugo。
1.1. 版本
Hugo 提供三种版本:标准版、扩展版和扩展/部署版。虽然标准版提供了核心功能,但扩展版和扩展/部署版提供了高级功能。
| 功能 | 扩展版 | 扩展/部署版 |
|---|---|---|
| 在处理图像时编码为 WebP 格式。任何版本都可以解码 WebP 图像。 | ✔️ | ✔️ |
| 使用嵌入的 LibSass 转译器将 Sass 转译为 CSS。任何版本都可以使用 Dart Sass 转译器。 | ✔️ | ✔️ |
| 将网站直接部署到 Google Cloud Storage 存储桶、AWS S3 存储桶或 Azure 存储容器。详见详情。 | ❌ | ✔️ |
除非你的特定部署需求需要扩展/部署版,否则我们推荐扩展版。
1.2. 前提条件
虽然在某些情况下不是必需的,但 Git、Go 和 Dart Sass 在使用 Hugo 时通常会被用到。
Git 用于:
- 从源代码构建 Hugo
- 使用 Hugo 模块功能
- 将主题作为 Git 子模块安装
- 从本地 Git 仓库获取提交信息
- 使用 CloudCannon、Cloudflare Pages、GitHub Pages、GitLab Pages 和 Netlify 等服务托管网站
Go 用于:
- 从源代码构建 Hugo
- 使用 Hugo 模块功能
Dart Sass 用于在使用 Sass 语言的最新功能时将 Sass 转译为 CSS。
请参考相关文档获取安装说明:
- Git
- Go
- Dart Sass
1.3. 预构建二进制文件
预构建二进制文件适用于多种操作系统和架构。访问最新发布页面,向下滚动到“Assets”部分。
- 下载所需版本、操作系统和架构的存档文件
- 解压存档文件
- 将可执行文件移动到所需目录
- 将该目录添加到 PATH 环境变量
- 确保你对该文件有 执行 权限
如果你需要帮助设置文件权限或修改 PATH 环境变量,请参考你的操作系统文档。
如果你没有看到所需版本、操作系统和架构的预构建二进制文件,请使用以下方法之一安装 Hugo。
1.4. 包管理器
1.4.1. 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
1.4.2. Homebrew
Homebrew 是适用于 macOS 和 Linux 的免费开源包管理器。要安装 Hugo 的扩展版本:
brew install hugo
1.5. 软件包库
大多数 Linux 发行版都为常用安装的应用程序维护一个存储库。
软件包存储库中可用的 Hugo 版本因 Linux 发行版和发行版而异,在某些情况下不会是最新版本。如果您的软件包存储库未提供所需的版本,请使用其他安装方法之一。
1.5.1. Alpine Linux
要在 Alpine Linux 上安装 Hugo 的扩展版本:
doas apk add --no-cache --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community hugo
1.5.2. Arch Linux
Linux 的 Arch Linux 发行版的衍生产品包括 EndeavourOS、Garuda Linux、Manjaro 等。要安装 Hugo 的扩展版本:
sudo pacman -S hugo
1.5.3. Debian
Linux 的 Debian 发行版的衍生产品包括 elementary OS、KDE neon、Linux Lite、Linux Mint、MX Linux、Pop!_OS、Ubuntu、Zorin OS 等。要安装 Hugo 的扩展版本:
sudo apt install hugo
1.5.4. Exherbo
要在 Exherbo 上安装 Hugo 的扩展版本:
- 将此行添加到 /etc/paludis/options.conf 中:
www-apps/hugo extended - 使用 Paludis 包管理器进行安装:
cave resolve -x repository/heirecka cave resolve -x hugo
1.5.5. Fedora
Linux 的 Fedora 发行版的衍生产品包括 CentOS、Red Hat Enterprise Linux 等。要安装 Hugo 的扩展版本:
sudo dnf install hugo
1.5.6. Gentoo
Linux 的 Gentoo 发行版的衍生产品包括 Calculate Linux、Funtoo 等。要安装 Hugo 的扩展版本:
- 在 /etc/portage/package.use/hugo 中指定extended的 USE 标志:
www-apps/hugo extended - 使用 Portage 包管理器进行构建:
sudo emerge www-apps/hugo
1.5.7. NixOS
Linux 的 NixOS 发行版在其软件包仓库中包含了 Hugo。要安装 Hugo 的扩展版本:
nix-env -iA nixos.hugo
1.5.8. openSUSE
Linux 的 openSUSE 发行版的衍生产品包括 GeckoLinux、Linux Karmada 等。要安装 Hugo 的扩展版本:
sudo zypper install hugo
1.5.9. Solus
Linux 的 Solus 发行版在其软件包存储库中包含 Hugo。要安装 Hugo 的扩展版本:
sudo eopkg install hugo
1.5.10. Void Linux
要在 Void Linux 上安装 Hugo 的扩展版本:
sudo xbps-install -S hugo
1.6. 从源代码构建 Hugo
要从源代码构建扩展或扩展/部署版本,您必须:
- 安装 Git.
- 安装 Go 版本 1.23.0 或更高版本
- 安装 C 编译器,GCC 或 Clang
- 按照 Go 文档中的说明更新 PATH 环境变量
安装目录由 GOPATH 和 GOBIN 环境变量控制。如果设置GOBIN,则二进制文件将安装到该目录。如果设置GOPATH,则二进制文件将安装到 GOPATH 列表中第一个目录的 bin 子目录中。否则,二进制文件将安装到默认 GOPATH 的 bin 子目录($HOME/go 或 %USERPROFILE%\go)。
要构建标准版,请执行以下作:
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