2020年6月21日,将Hugo最新版本安装在Raspberry Pi0W上

在尝试将最新版的Hugo安装到Raspberry Pi Zero W上时遇到了一些困难,记录如下。

为什么选择PiZeroW和Hugo?

我买了一个PiZeroW来进行音频播放实验,但是实验结束后没有其他用途了。
能不能利用其低功耗(约1W)来搭建一个Web服务器呢?
最好还能安装一个静态网站生成器SSG,这样就可以单独构建一个网站了。
考虑到PiZero的CPU速度较慢,我想安装一个快速的SSG,比如Hugo!

問題點

Ubuntu 不支持 PiZero。
旧版 Raspberry Pi OS(即 Raspbian)通过 apt 安装的 Hugo 版本过旧。

Snap包中没有PiZero的armv6l版本!(只有Pi2及以后的版本支持Snap)

首先,Snap包是在沙箱环境中运行的,所以无法与外部程序如asciidoctor进行联动。

虽然Hugo官方网站上有二进制文件,但仍然没有针对PiZero(armv6l)的适用版本。

需要从源代码安装Hugo,但在Raspberry Pi OS上使用的golang版本太旧,无法编译。

必要的步骤

从官方网站下载并安装最新版的Golang二进制文件。

以下是对所提供资料的中文本地化版本:

Golang官方网站:https://golang.org/
下载页面:https://golang.org/dl/
2020/06/21时点上兼容PiZero的最新版本
go1.14.4.linux-armv6l.tar.gz

# ダウンロード (2020/06/21時点)
curl -O https://dl.google.com/go/go1.14.4.linux-armv6l.tar.gz
# チェックサム確認
sha256sum go1.14.4.linux-armv6l.tar.gz

# インストール
tar -C /usr/local -xzf go1.14.4.linux-armv6l.tar.gz

# パスを通す ~/.bashrcに追記
export PATH=$PATH:/usr/local/go/bin

从官方网站下载Hugo的源代码并进行编译。

Hugo 公式网站:https://gohugo.io/
按照官网文档(Source 部分)中的说明进行安装
https://gohugo.io/getting-started/installing/

mkdir $HOME/src
cd $HOME/src
git clone https://github.com/gohugoio/hugo.git
cd hugo
go install

在树莓派Zero上需要花费约一个小时的时间。

总结

最快的SSG,即使使用Hugo,也很难使PiZero运行速度较慢并且不实用。
Hugo只是用于紧急情况,通常情况下最好使用另一台电脑来运行Hugo,然后将生成的文件转移到PiZero上。
说实话,不要用PiZero,用Pi2或更高版本会更好。