首页 文章

Jekyll网站不会加载

提问于
浏览
2

我一直试图在Github Pages上运行一个Jekyll网站,但它似乎没有用 . 我一直在收到错误

您的网站在构建时遇到问题:符号链接/vendor/bundle/ruby/2.3.0/gems/ffi-1.9.18/ext/ffi_c/libffi-x86_64-linux-gnu/include/ffitarget.h定位文件在您的网站的存储库中不存在 . 有关更多信息,请参阅https://help.github.com/articles/page-build-failed-symlink-does-not-exist-within-your-site-s-repository/ .

我已经尝试了9种不同的Jekyll主题,但它们似乎都没有用,所以我显然做错了 . 以下是我要采取的步骤

1)创建一个新的repo并将来自Jekyll Theme的文件放在那里,或者从另一个repo中分叉它(例如https://github.com/iwiedenm/jekyll-theme-massively-src

2)Git把它拉进我的电脑,确保我在 gh-pages 分支上

3)运行 bundle install --path vendor/bundle

4)确保它是用 bundle exec jekyll serve 构建的

5)一旦看起来不错,将其上传到Github git add * git commit -m 'Test' git push

然后我在浏览器中转到repo,我看到上面的错误,由于缺少“ffitarget.h”文件,我无法看到该网站 . 当我在该目录中查找它时,我能够找到它,但Github似乎无法找到它 .

尼克舒

PS:请随意将其标记为副本 . 我见过其他页面,例如this,我试过了,但它没有用 .

2 回答

  • 1

    确保已排除 vendor/bundle/ 目录 .

    默认情况下,Jekyll会排除该目录,因此它不会关心 vendor 目录中的内容 .

    当您分叉/克隆仓库时,可能已经自定义了 exclude: 列表(因此覆盖了默认设置) . 您可以通过将Jekyll添加到自定义排除列表来确保忽略 vendor/bundle/

    # Exclude list
    exclude:
    - README.md
    - Gemfile
    - Gemfile.lock
    - node_modules
    - gulpfile.js
    - package.json
    - _site
    - src
    - vendor
    - CNAME
    - LICENSE
    - Rakefile
    - old
    - vendor/bundle/
    

    要在本地模拟网站在GitHub页面上的构建方式,您可以使用 --safe 开关进行构建:

    bundle exec jekyll serve --safe
    
  • 2

    Github页面将在 vendor 中使用本地宝石 . 如果您提交它们,每次github页面尝试解析符号链接时都会出错 .

    来自新的存储库

    在执行 git add . * 之前,在 .gitignore 文件中添加 vendor/** .

    git add . * 中的点强制git进行dotfiles(.gitignore,...) .

    从包含供应商文件夹中的gem的现有存储库中

    • .gitignore 文件中添加 vendor/**

    • 从版本控制中删除 vendor/ 个文件, git rm --cached -r vendor/

    您现在可以进行暂存,提交和推送

    git add . *
    git commit -m 'remove vendor from versioning'
    git push origin master`
    

    Notes

    • 你可以发布 master 分支内容,因为 gh-pages 分支不再是强制性的 . See documentation .

    • 除非你有像debuging这样的特殊需求,否则没有必要为你的每个项目下载宝石 . 你可以做一个捆绑安装 .

相关问题