Jekyll网站无法在GitHub Pages加载:符号链接错误求助
解决GitHub Pages部署Jekyll时符号链接不存在的问题
我之前也踩过这个坑!这个错误是因为本地bundle install生成的vendor目录里包含了指向你本地机器文件的符号链接,而GitHub Pages的构建服务器上根本没有这些文件,所以构建直接报错了。给你几个亲测有效的解决办法:
不要提交本地的
vendor目录到仓库
首先删掉本地的vendor文件夹:rm -rf vendor然后把
vendor/添加到你的.gitignore文件里,确保这个本地依赖目录不会被推送到GitHub。GitHub Pages会自动根据你的Gemfile和Gemfile.lock安装所需依赖,完全不需要你自己提交本地的依赖文件。更新ffi到兼容GitHub Pages的版本
旧版本的ffi确实容易出现这种符号链接问题,你可以在Gemfile里指定一个更稳定的版本:gem 'ffi', '~> 1.15.0'然后运行
bundle update ffi更新依赖,之后提交修改后的Gemfile和Gemfile.lock到仓库再尝试构建。避免使用bundle的路径安装模式
如果你之前用了bundle install --path vendor/bundle这种方式安装依赖,会强制生成本地的vendor目录。可以改用无路径安装:bundle install --no-path这样依赖会安装到系统默认的gem目录,不会在项目里生成带符号链接的
vendor文件夹,从根源避免这个问题。
本质上就是要让GitHub Pages自己处理依赖安装,不要把本地生成的依赖文件(尤其是带符号链接的)提交上去,这样构建环境就能正常找到所需文件了。
内容的提问来源于stack exchange,提问作者Nicolas Shu
相关产品推荐
相关产品推荐

