0%

博客搭建相关

整体框架

  • img

  • hexo+github+netlify+cloudflare

  • 博客生成框架

    它的作用是将用户的输入转化成一个网站目录

    • 由一些html文件、css文件以及js文件组成的目录结构(前端三件套)
  • 文件托管平台
    能够让我们把文件存储在云端,并提供相应的访问和修改的接口

  • 站点部署服务

    将一个已经成形的网站部署到互联网上,让网络上的其他主机能够正常访问(最简单的事github,上的github pages,但是这个方式国内的访问速度极慢,此教程中我们使用netlify作为我们部署站点的服务提供商,而把github仅仅作为一个托管文件的场所)

    • netlify除了直接部署静态网络的功能之外,还支持动态的构建网站,也就是我们可以自定义一个构建网站的脚本,比如我们后面会使用的 npm run clean &&npm run build这个脚本,它会先清除之前已经构建好的静态网站,然后重新从头构建,以防某些地方的更新不到位
  • CDN加速服务

遇到的错误

Error: Spawn failed

FATAL Something’s wrong. Maybe you can find the solution here: https://hexo.io/docs/troubleshooting.html

image-20240809212809868

解决:临时禁用SSL验证(不推荐用于生产环境):

1
git config --global http.sslVerify false

运行git config –global http.sslVerify false后再运行hexo d后还是出现相同的报错,如何解决:

如果禁用 SSL 验证后仍然遇到相同的错误,问题可能更复杂。让我们尝试一些更深入的解决方案:

  1. 检查 Git 版本:
    运行 git --version 确保您使用的是最新版本的 Git。如果不是,请更新 Git。

  2. 检查远程仓库 URL:
    运行 git remote -v 检查远程仓库的 URL 是否正确。如果使用 HTTPS,尝试切换到 SSH,反之亦然。

  3. 清除 Git 凭证:

    1
    2
    3
    git config --system --unset credential.helper
    git config --global --unset credential.helper
    git config --local --unset credential.helper
  4. 检查代理设置:
    如果您使用代理,确保 Git 的代理设置正确:

    1
    2
    git config --global --unset http.proxy
    git config --global --unset https.proxy
  5. 增加 Git 操作的超时时间:(运行后再运行hexo d解决问题)

    1
    2
    git config --global http.lowSpeedLimit 0
    git config --global http.lowSpeedTime 999999
  6. 尝试使用 GitHub CLI:
    如果您有 GitHub CLI(gh),可以尝试使用它进行身份验证:

    1
    gh auth login
  7. 手动推送:
    尝试手动推送到 GitHub 仓库,看看是否能成功:

    1
    2
    cd .deploy_git
    git push -u origin master
  8. 检查 Hexo 配置:
    确保您的 Hexo _config.yml 文件中的部署设置正确:

    1
    2
    3
    4
    deploy:
    type: git
    repo: <您的 GitHub 仓库 URL>
    branch: master
  9. 重新安装 hexo-deployer-git:

    1
    2
    npm uninstall hexo-deployer-git
    npm install hexo-deployer-git
  10. 使用 verbose 模式运行 Hexo:

    1
    hexo deploy --debug

    这会提供更详细的错误信息,可能有助于诊断问题。

  11. 检查系统时间:
    确保您的系统时间是正确的,时间不正确可能导致 SSL 错误。

  12. 临时禁用防火墙和杀毒软件:
    有时防火墙或杀毒软件可能会干扰 Git 操作。

如果以上方法都不能解决问题,您可以尝试以下替代方案:

  1. 使用其他部署方法:
    例如,使用 rsync 或 FTP 部署,而不是 Git。

  2. 手动部署:
    生成静态文件后,手动将它们上传到您的 GitHub Pages 仓库。

  3. 使用 GitHub Actions:
    设置 GitHub Actions 工作流来自动部署您的 Hexo 博客,这样可以绕过本地部署问题。

如果问题仍然存在,建议您在 Hexo 的 GitHub 仓库上开一个 issue,提供详细的错误日志和您的环境信息(操作系统、Node.js 版本、Hexo 版本等),以获得更专业的帮助。