首页 后端开发 Golang 如何在 Vercel 中托管 Hugo

如何在 Vercel 中托管 Hugo

Nov 30, 2024 pm 02:39 PM

我决定和Hugo一起建立我的个人网站。我的选择唯一基于的是构建时间。我认为 Hugo 在内容管理方面与 Astro 处于同一水平,但目前还没有达到这个水平。或者,我可以说它有自己的路径,因为它比我遇到的大多数其他静态站点生成器都要旧。此外,它是一个 Go 应用程序,这是评估技术选择时要考虑的另一个重要因素。

可以添加什么!

是的,可以扩展Hugo的功能。您可以通过修改构建过程的模块添加缺少的功能。例如,我缺少 Hugo 中的 MDX 支持。我可以通过在构建时渲染 MDX 的模块来解决这个问题。我自己没有尝试过,但似乎是可能的。
我还可以添加一个并行构建管道——如果我们可以这样称呼它的话。这可能涉及使用 Vite、Turbo 或 Webpack 等工具。然而,这种方法可能会使构建过程复杂化,并可能减慢 Hugo 的主要构建机制。这些集成已用于合并 Tailwind 和其他前端库。有趣的是,如果您查看 Hugo 即将推出的功能,您会看到集成 Tailwind 和其他技术的计划。

基于 Vercel 构建

我使用了一些第三方 Hugo 工具,特别是 HugoMods。图标模块引起了我的注意,因为我想向我的网站添加图标而不导入整个字体。搜索时,首先出现的是图标模块。它提供了各种图标供应商,包括 Bootstrap、Font Awesome、Feather 图标等等。
在当地,一切都很顺利。然而,在推动我的改变之后,似乎没有任何改变。在检查 Vercel 中的构建页面后,我注意到...

[12:10:48.021] Running build in Washington, D.C., USA (East) – iad1
[12:10:48.210] Cloning github.com/mohessaid/mohessaid (Branch: main, Commit: eaeecd1)
[12:10:48.449] Cloning completed: 238.727ms
[12:10:49.038] Restored build cache from previous deployment (5i5sCdjnY3KZXgGBqbqfgJUjrwYB)
[12:10:49.132] Running "vercel build"
[12:10:49.714] Vercel CLI 39.0.2
[12:10:50.440] Total in 3 ms
[12:10:50.441] Error: failed to load modules: failed to download modules: binary with name "go" not found in PATH
[12:10:50.446] Error: Command "hugo --gc" exited with 1
[12:10:50.625]
登录后复制

当 Hugo 尝试安装构建所需的模块时,它找不到 Go 二进制文件。我向Claude和GPT寻求帮助,希望能够快速解决问题,但他们无法提供直接帮助。我必须引导他们完成每一步,最终,我对他们帮助我的能力失去了希望。
如果不是因为 Vercel 输入字段的限制,我什至使用 Claude 来实现几乎成功的解决方案。

什么有效?

我在 Vercel 仪表板中导航至我的网站的设置页面。在“环境变量”选项卡中,我添加了一个名为“HUGO_VERSION”的变量,并将其值设置为最新可用的 Hugo 版本。

How to Host Hugo in Vercel

在“常规”选项卡中,选择 Hugo 作为框架预设。然后使用以下内容覆盖构建命令:

curl -L https://go.dev/dl/go1.22.2.linux-amd64.tar.gz -o go1.22.2.linux-amd64.tar.gz && tar -C /usr/local -xzf go1.22.2.linux-amd64.tar.gz && export PATH=$PATH:/usr/local/go/bin && go env GOTPATH  &&  hugo --gc --minify 
登录后复制

How to Host Hugo in Vercel

注意:我使用的是 Go 版本 1.22.2,这是撰写本文时的最新版本。您可以修改版本以满足您的具体要求。

为什么要构建命令?

我理解你的怀疑。和你一样,我认为我有一个聪明的解决方案。最初,我尝试在 Install Command 字段中安装 Go,但惨败。尽管我进行了详尽的故障排除,但 Vercel 的构建过程仍无法找到二进制文件。
在探索了无数潜在的解决方案但没有成功之后,我偶然发现了一个 GitHub 问题,其中有人将整个安装过程直接放在构建字段中。照着他们的方法,我终于获得了成功。至此,解决方案就说明了一切。
尝试将这些步骤放入安装命令字段中可能会导致错误。

How to Host Hugo in Vercel

或者这个

How to Host Hugo in Vercel

安装 Amazon Linux Extras 并不能解决 Go 安装难题。通过此方法可用的 Go 版本明显过时。我彻底测试了这种方法并遇到了一致的失败。我尝试在安装命令中同时使用 yum 和 dnf 包管理器,但这两种方法都未能成功解决 Go 二进制问题。


最后,我在不同的平台上分享了这篇文章,以测试哪个平台在搜索结果中排名第一。几个月前我就愿意这样做。但是,我找不到合适的帖子。您可以从这里开始进行实验。

以上是如何在 Vercel 中托管 Hugo的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1666
14
CakePHP 教程
1426
52
Laravel 教程
1328
25
PHP教程
1273
29
C# 教程
1254
24
Golang vs. Python:性能和可伸缩性 Golang vs. Python:性能和可伸缩性 Apr 19, 2025 am 12:18 AM

Golang在性能和可扩展性方面优于Python。1)Golang的编译型特性和高效并发模型使其在高并发场景下表现出色。2)Python作为解释型语言,执行速度较慢,但通过工具如Cython可优化性能。

Golang和C:并发与原始速度 Golang和C:并发与原始速度 Apr 21, 2025 am 12:16 AM

Golang在并发性上优于C ,而C 在原始速度上优于Golang。1)Golang通过goroutine和channel实现高效并发,适合处理大量并发任务。2)C 通过编译器优化和标准库,提供接近硬件的高性能,适合需要极致优化的应用。

开始GO:初学者指南 开始GO:初学者指南 Apr 26, 2025 am 12:21 AM

goisidealforbeginnersandsubableforforcloudnetworkservicesduetoitssimplicity,效率和concurrencyFeatures.1)installgromtheofficialwebsitealwebsiteandverifywith'.2)

Golang vs.C:性能和速度比较 Golang vs.C:性能和速度比较 Apr 21, 2025 am 12:13 AM

Golang适合快速开发和并发场景,C 适用于需要极致性能和低级控制的场景。1)Golang通过垃圾回收和并发机制提升性能,适合高并发Web服务开发。2)C 通过手动内存管理和编译器优化达到极致性能,适用于嵌入式系统开发。

Golang的影响:速度,效率和简单性 Golang的影响:速度,效率和简单性 Apr 14, 2025 am 12:11 AM

GoimpactsdevelopmentPositationalityThroughSpeed,效率和模拟性。1)速度:gocompilesquicklyandrunseff,ifealforlargeprojects.2)效率:效率:ITScomprehenSevestAndArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdArdEcceSteral Depentencies,增强开发的简单性:3)SimpleflovelmentIcties:3)简单性。

C和Golang:表演至关重要时 C和Golang:表演至关重要时 Apr 13, 2025 am 12:11 AM

C 更适合需要直接控制硬件资源和高性能优化的场景,而Golang更适合需要快速开发和高并发处理的场景。1.C 的优势在于其接近硬件的特性和高度的优化能力,适合游戏开发等高性能需求。2.Golang的优势在于其简洁的语法和天然的并发支持,适合高并发服务开发。

Golang vs. Python:主要差异和相似之处 Golang vs. Python:主要差异和相似之处 Apr 17, 2025 am 12:15 AM

Golang和Python各有优势:Golang适合高性能和并发编程,Python适用于数据科学和Web开发。 Golang以其并发模型和高效性能着称,Python则以简洁语法和丰富库生态系统着称。

Golang和C:性能的权衡 Golang和C:性能的权衡 Apr 17, 2025 am 12:18 AM

Golang和C 在性能上的差异主要体现在内存管理、编译优化和运行时效率等方面。1)Golang的垃圾回收机制方便但可能影响性能,2)C 的手动内存管理和编译器优化在递归计算中表现更为高效。

See all articles