76、【Ubuntu】【Hugo】搭建私人博客:Hugo 版本更新

【声明】本博客所有内容均为个人业余时间创作,所述技术案例均来自公开开源项目(如Github,Apache基金会),不涉及任何企业机密或未公开技术,如有侵权请联系删除

背景

上篇 blog
【Ubuntu】【Hugo】搭建私人博客:Page Bundle

分析了 Hugo 中 public/ 目录下的内容,并进一步分析了 Hugo Page Bundle 机制,下面继续

搭建私人博客

之前 blog 【Ubuntu】【Hugo】搭建私人博客:Hugo&PaperMod 兼容问题 提到了 Hugo 和 PaperMod 的兼容性问题,当时提供的解决方案是给 PaperMod 降级,现在来看另一种方案,给 Hugo 升级,只有不断地更新版本,才能享受到开源社区提供的最新功能

在终端输入

bash 复制代码
git clone https://github.com/gohugoio/hugo.git

可以克隆源仓库的 Hugo,如果访问速度慢的话,博主在 Gitee 上传了一份刚克隆的(2025.12 月份,后面有必要会经常更新)

将上面的命令调整为

bash 复制代码
git clone https://gitee.com/hitweston/hugo.git

OK,clone 成功后,在终端输入

bash 复制代码
git tag --sort=-creatordate | head -n 5

可以查看到 Hugo 版本已经更新到 v0.153.2

如果用 Ubuntu 仓库的话,当前只到 v0.123.7 版本,还是 7月份的构建的,Ubuntu 仓库官方更新的慢

OK,接着在终端输入

bash 复制代码
CGO_ENABLED=1 go install -tags extended

开始从源码构建安装 Hugo Extended 扩展版本,下面说下这条命令各部分的含义

  • CGO_ENABLED=1这里 CGO_ENABLED 是一个环境变量,用于控制 Go 是否启用 CGO ,启用 CGO 时,将允许 Go 代码调用 C 语言库,而禁用 CGO 则是纯 Go 编译,之前 blog 【Ubuntu】【Hugo】搭建私人博客:新建站点 说了,Hugo 的扩展功能需要依赖 C 语言库,比如 SCSS/Sass 编译,WebP 图像处理等,如果不启用 CGO,这些功能就会被禁用
  • go installGo 工具链命令,用于编译当前项目,并安装可执行文件,这个可执行文件会被复制输出到 $GOPATH/bin,一般是 ~/go/bin/ ,注意,go install 不同于 go buildgo build 只在当前目录生成可执行文件,而 go install 编译后会安装到全局 bin 目录,方便全局使用
  • -tags extended:传递 build tags 构建标签给 Go 编译器,Go 支持通过 //go:build extended 注释控制哪些代码参与编译,在 Hugo 源码中,扩展功能被包裹在 extended 标签下,只有指定 -tags extended 时,这些代码才会被编译进去

安装完成后,终端输入

bash 复制代码
~/go/bin/hugo version

可以查看到 Hugo 版本已更新成最新版本 v0.154.0

但如果在终端输入

bash 复制代码
hugo version

可以看到 Hugo 版本还是旧的

这是因为 Go 的安装路径没有添加到 PATH 环境变量的原因,在终端输入

bash 复制代码
echo 'export PATH="$HOME/go/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

可以把 ~/go/bin 加到 PATH 最前面,因为 Shell 会依据 PATH 从左到右查找命令,放在最前就能优先使用,此时在终端再输入

bash 复制代码
hugo version

就可以看到最新的 Hugo 版本了

另外,构建 Hugo 需要依赖大量的 Github 仓库的东西

如果访问 Github 速度太慢的话,可以到博主 Gitee https://gitee.com/hitweston/hugo 上下载构建好的 v0.154.0 版本

总而言之,本地构建是开发者能够拿到功能最全 Hugo 的标准方式,编译一次,就可以长期使用,还能随时 git pullgo install 升级到最新版,而且因为 ~/go/bin 在 PATH 最前面,go install 安装后就能用到最新版本!


OK,本篇先到这里,如有疑问,欢迎评论区留言讨论,祝各位功力大涨,技术更上一层楼!!!更多内容见下篇 blog
【Ubuntu】【Hugo】搭建私人博客:Detached HEAD

相关推荐
☆凡尘清心☆7 分钟前
CentOS Stream 9 源码编译搭建 Zabbix7.0.29 完整部署方案(部署成功)
linux·运维·centos
予昊19 分钟前
Linux 资源控制实战分析:用 LXC 亲手造一个 “迷你虚拟机“
linux·运维·服务器
allforgood26 分钟前
管理网络安全
linux
xiaoxiangsiyan29 分钟前
RHCE之2026年全套考点详解
运维·前端·网络·chrome·学习·rhce
love530love29 分钟前
彻底清理 Windows 右键“打开方式“中的重复/失效程序项(PyCharm 多版本残留实战 + 自动化脚本)
运维·人工智能·windows·pycharm·jetbrains·toolbox
zhexunnb39 分钟前
SAP赋能芯片封装行业,打造封测企业全链路数字化底座
运维
蓝速科技40 分钟前
蓝速科技会议预约屏深度评测:为何安卓系统是智慧办公长期最优解
运维·人工智能·科技
2401_8346369942 分钟前
保姆级 K8s 运维:RBAC 认证 + Dashboard+Local/NFS 动态卷实战
运维·容器·kubernetes
灵晔君1 小时前
【Linux】进程控制(一)——进程创建、进程终止与进程等待
linux·c语言·算法
hyf3266331 小时前
低成本站群泛程序部署:单服务器托管百站稳定运行教程
运维·服务器·前端·搜索引擎·蜘蛛池