hugo搭建博客过程中遇到的问题

Finder / 2024-04-14


本文基于郝鸿涛如何零基础免费搭建个人网站 (2024 更新版) ,将个人参考教程中遇到的问题进行详细记述。下面会根据原文流程中的步骤逐条记录。

网站主题 #

如何零基础免费搭建个人网站 中的这个步骤是可以不执行的,直接进入如何零基础免费搭建个人网站 (2024 更新版) 往下操作即可。但是如果你执行了这一步骤,有 2 点需要关注:

1. 为什么要执行下面这段代码 #

mkdir hugo-ht-new # create a new folder called hugo-ht-new
cp -r hugo-ht/* hugo-ht-new # copy everything in hugo-ht to hugo-ht-new
rm -rf hugo-ht # delete the folder of hugo-ht
mv hugo-ht-new hugo-ht # change folder name

这段代码看上去好像没有意义,但其实非常重要,需要特别关注。执行完

git clone https://github.com/hongtaoh/hugo-ht

将 hugo-ht 复制到本地,这里需要注意是,虽然本地有了 hugo-ht 的的文件,但是其实并不属于你自己的博客项目,而是一个外部引用。因为是一个外部引用,所以后面无论你改动 themes/hugo-ht 下的什么内容,都无法实际生效。执行上面的代码意义就是将其从引用,变为个人项目的一部分。

2. hugo server -D 报错 #

当你执行

hugo server -D # 这里的 D 是 draft 的意思

可能会遇到报错:page not found.

这里可能的原因是在quickstart文件夹下有同时有 hugo.toml 和 config.toml 导致的。2个文件会引起系统执行时不知道应该执行哪个,只需要删除 hugo.toml 即可。

复制仓库 url #

1. git submodule add https://github.com/hongtaoh/hugo-ht themes/hugo-ht 报错 #

如果你上面执行了“网站主题”部分,则可能会报错:

fatal: 'themes/hugo-ht' already exists in the index

意思是已经有这个文件了,不能再次操作。如果想执行,那就需要先删除掉,删除 hugo-ht 文件夹。当然,删除后,再次执行 add 操作时,会提醒:

fatal: A git directory for 'themes/hugo-ht' is found locally with remote(s):
  origin	https://github.com/hongtaoh/hugo-ht
If you want to reuse this local git directory instead of cloning again from
  https://github.com/hongtaoh/hugo-ht
use the '--force' option. If the local git directory is not the correct repo
or you are unsure what this means choose another name with the '--name' option.

执行下面的代码可以解决:

git rm --cached themes/hugo-ht
rm -rf themes/hugo-ht

这里提一句,git clone 其实不建议使用 hugo-ht 的名字,比如我,使用的是:

git submodule add https://github.com/hongtaoh/hugo-ht themes/hugo-zj

然后将 config.toml 中 theme = “hugo-ht” 改为 theme = “hugo-zj” 就好了。

2. git remote add origin YOURREPO 中 YOURREPO 写什么 #

这里因为需要和git远程代码库做操作,所以需要本机和git进行授信。你执行的时候可能会要求输入git的账户密码。为了避免之后做 git 操作时都要先授信,建议在做这一步操作时,先完成 ssh 部分,详见 如何零基础免费搭建个人网站 中设置 SSH Deploy Key 的部分。

⚠️完成设置 SSH Deploy Key后,YOURREPO应该是ssh链接,而不是 https 链接。

Vercel 导入项目 #

1. 点击 Deploy 报错 #

点击 Deploy 可能会报错

sh: line 1: hugo: command not found
Error: Command "hugo --gc" exited with 127

这是因为 vercel 使用的 hugo 版本比较老导致的,解决方法如下:

  1. 在 vercel 的博客项目中 setting 里,点击“Environment Variables”
  2. 在key 中填写 HUGO_VERSION ,在Value 里填写 hugo 版本号,店家 save 即可。

本地 hugo 版本,可以在终端里输入 hugo version 查看,v 之后的内容就是,注意不写 v。

自定义域名 #

原文使用域名是在 Namecheap 上买的,我是在porkbun 买的,因为更加便宜一点。下面是如何在porkbun上配置域名。

  1. 在 vercel 的 项目 setting 中,选择 Domains , 将自己购买的域名进行 add。点击添加时,会遇到红字提醒,那不是报错,是需要在 porkbun 上进行设置。
  2. 在 porkbun 上,点击域名下的 DNS ,进入 DNS 设置页面,按照vercel上的提醒,做相应的添加即可。

大概10s左右,就会生效。

中文为主,英文为辅 #

在修改网站设置时,可能会遇到,本地做了修改 hugo server -D 也是对的,但是网站不生效的情况。

很可能是因为上面提到的 网站主题部分中第 1 个问题引发的。建议是修改文件夹名称,然后将 config.toml 中 theme = “hugo-ht” 改为 theme = “hugo-zj” 就好了。

#博客搭建

最后一次修改于 2024-04-14