Jekyll 杰基尔网站赢得';t载荷
我一直在尝试在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把它拉到我的电脑里,确保我在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) 创建一个新的
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符号链接上的宝石和中断。“排除”仅在生成时有效。