我一直试图在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 回答
确保已排除
vendor/bundle/
目录 .默认情况下,Jekyll会排除该目录,因此它不会关心
vendor
目录中的内容 .当您分叉/克隆仓库时,可能已经自定义了
exclude:
列表(因此覆盖了默认设置) . 您可以通过将Jekyll添加到自定义排除列表来确保忽略vendor/bundle/
:要在本地模拟网站在GitHub页面上的构建方式,您可以使用
--safe
开关进行构建:Github页面将在 vendor 中使用本地宝石 . 如果您提交它们,每次github页面尝试解析符号链接时都会出错 .
来自新的存储库
在执行
git add . *
之前,在 .gitignore 文件中添加vendor/**
.git add . *
中的点强制git进行dotfiles(.gitignore,...) .从包含供应商文件夹中的gem的现有存储库中
在 .gitignore 文件中添加
vendor/**
,从版本控制中删除 vendor/ 个文件,
git rm --cached -r vendor/
您现在可以进行暂存,提交和推送
Notes :
你可以发布 master 分支内容,因为 gh-pages 分支不再是强制性的 . See documentation .
除非你有像debuging这样的特殊需求,否则没有必要为你的每个项目下载宝石 . 你可以做一个捆绑安装 .