我已经尝试了一段时间让Jekyll网站在Github Pages上运行,但它似乎没有用。我一直在收到错误
您的网站在构建时遇到问题:符号链接 /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把它拉进我的电脑,确保我在bundle install --path vendor/bundle
分支上
3)运行bundle exec jekyll serve
4)确保它是使用git add *
5)一旦看起来不错,请将其上传到Github
git commit -m 'Test'
git push
{{1}}
然后我在浏览器中找到了回购邮件,我看到上面的错误,因为那个错过了" ffitarget.h"我无法看到该网站。文件。当我在该目录中寻找它时,我能够找到它,但Github似乎无法找到它。
Nick Shu
PS:请随意将其标记为副本。我见过其他页面,例如this,我试过了,但它没有用。
答案 0 :(得分:2)
确保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
答案 1 :(得分:2)
Github页面将使用 vendor 中的本地gem。如果您提交它们,每次github页面尝试解析符号链接时都会出错。
在您执行vendor/**
之前,在 .gitignore 文件中添加git add . *
。
git add . *
中的点强制git处理dotfiles(.gitignore,...)。
在 .gitignore 文件中添加vendor/**
,
从版本控制中移除 供应商/ 文件,git rm --cached -r vendor/
您现在可以暂存,提交和推送
git add . *
git commit -m 'remove vendor from versioning'
git push origin master`
备注: