Jekyll 杰基尔网站赢得';t载荷

Jekyll 杰基尔网站赢得';t载荷,jekyll,github-pages,Jekyll,Github Pages,我一直在尝试在Github页面上运行一个Jekyll网站,但它似乎不起作用。我一直在犯错误 您的站点在构建符号链接时遇到问题 /vendor/bundle/ruby/2.3.0/gems/ffi-1.9.18/ext/ffi_c/libffi-x86_64-linux-gnu/include/ffitarget.h 目标是站点存储库中不存在的文件。对于 有关详细信息,请参阅 我已经尝试过9种不同的杰基尔主题,但它们似乎都不起作用,所以我显然做错了什么。以下是我正在采取的步骤 1) 创建一个新的

我一直在尝试在Github页面上运行一个Jekyll网站,但它似乎不起作用。我一直在犯错误

您的站点在构建符号链接时遇到问题 /vendor/bundle/ruby/2.3.0/gems/ffi-1.9.18/ext/ffi_c/libffi-x86_64-linux-gnu/include/ffitarget.h 目标是站点存储库中不存在的文件。对于 有关详细信息,请参阅

我已经尝试过9种不同的杰基尔主题,但它们似乎都不起作用,所以我显然做错了什么。以下是我正在采取的步骤

1) 创建一个新的repo,并将来自Jekyll主题的文件放在那里,或者从另一个repo(例如)

2) Git把它拉到我的电脑里,确保我在
gh页面上

3) 运行
bundle安装--路径供应商/bundle

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

5) 一旦它看起来不错,上传到Github
git add*
git提交-m'Test'
git推送

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

舒力克


PS:请随意将此标记为副本。我看到了其他页面,例如,我尝试了它,但没有成功。

确保已排除
供应商/bundle/
目录

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

当您分叉/克隆回购时,可能会自定义
排除:
列表(因此覆盖默认设置)。通过将其添加到自定义排除列表中,您可以确保Jekyll忽略
供应商/bundle/

#排除列表
排除:
-自述文件
-Gemfile
-Gemfile.lock
-节点单元
-gulpfile.js
-package.json
-_站点
-src
-卖主
-CNAME
-许可证
-耙子
-旧的
-供应商/捆绑/
要在本地模拟站点在GitHub页面上的构建方式,可以使用
--safe
开关进行构建:

bundle exec jekyll serve --safe

Github页面将在供应商中使用本地gems。如果提交它们,每次github页面尝试解析符号链接时都会出现错误

从一个新的存储库 在执行
git添加之前,在.gitignore文件中添加
vendor/**
*

git add中的点*强制git暂存点文件(.gitignore,…)

从供应商文件夹中包含gems的现有存储库中
  • .gitignore文件中添加
    vendor/**

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

您现在可以进行阶段、提交和推送

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

  • 您可以发布分支内容,因为分支不再是强制性的
  • 除非您有调试之类的特殊需求,否则没有必要为每个项目下载gems。您可以只进行捆绑安装

很抱歉,排除供应商/捆绑/不起作用。您需要忽略gitignore供应商文件夹。@DavidJacquel请详细说明,如果Jekyll不处理文件,为什么不签入
vendor/
文件..?因为Github页面似乎在Jekyll启动时屏蔽ffi符号链接上的宝石和中断。“排除”仅在生成时有效。