我不断得到构建和部署错误,而试图发布我的gh页面,它在本地工作,有人可以帮助我吗?
我用Jekyll al-folio作为我的网页。当我试图发布我的gh页面时,我得到的错误是:
github-pages can't satisfy your Gemfile's dependencies.
如果您需要更多的信息,请告诉我。
我做了我能找到的一切,我自己也有同样的问题,差不多一年前,我发布了解决方案,但这对我不起作用了。根据一种解决方案,我使用bundle update
来获得更新的gemfile。
根据一个评论,因为我没有任何h-pages分支,所以我创建了一个,并将pages中的分支设置从main更改为h-pages,我仍然得到相同的错误消息,构建和部署失败。
这是由于最近jekyl -build- Pages操作的变化引起的,这是默认GitHub Pages部署工作流使用的。
脚本运行bundle check
来查看加载了Pages -gem的默认GitHub Pages依赖项是否可以满足某些人可能在其存储库中的Gemfile中的依赖项。
这个警告的主要原因是人们经常在本地设置自定义依赖,但是在默认的部署方法中,任何本地的Gemfile都被完全忽略了——然后当他们的插件不能工作时,他们会很惊讶。这个警告是为了让你更清楚。
自此更改以来,警告还会输出具体导致问题的gems。
在我的例子中,我认为我的Gemfile没有引入任何不属于pages-gem的东西,但是构建过程使用Nokogiri的系统库而不是安装gem,这会导致警告。
没有看到你的Gemfile,我们只能猜测,但看看al-folio主题的依赖关系,并将它们与GitHub Pages的默认依赖版本进行比较,可以给我们一个想法。
主题不是作为Gem发布的,但它的Gemfile中有十几个依赖项不是pages-gem (classifier-reborn, jekyl -archives, jekyl -diagrams,…)。
要使用这个主题,您必须切换到使用GitHub Actions发布您的网站;这里有一个有用的官方入门工作流程。
我用以下步骤解决了这个问题:
- 再次将main repo从normal -folio中分叉,并将其重命名为'yourgithubusername.github.io'
- 确保在分叉 时检查唯一的主分支
- 到你的repo的action部分并启用github actions。
- 将url更改为
yourusername.github.io
,基础url更改为_config.yml
- 转到
setting > pages
将分支更改为h-pages(部署操作将创建它) - 问题是你只分叉
master
分支,gh-pages
分支会通过部署动作自动生成。你应该改变页面设置。现在它应该起作用了。(为我工作)
注。我不知道在这一两周里发生了什么,但这现在起作用了。本杰明的回答也很有帮助,你一定要读一下。
我的jekyll主题也得到这个警告,并且@BenjaminW提供的答案。帮我找到了解决办法。
正如他所说,这个警告只是告诉你本地Gemfile包含GitHub Pages不支持的依赖项。我的情况有点像第22条军规,我怀疑其他许多人也一样:
以前,webrick
库是和Ruby一起预装的。这是在本地构建jekyll时需要的。在Ruby 3.0中,他们删除了webrick
,所以现在如果你想在本地构建jekyll站点,你必须显式地将webrick
添加到你的Gemfile中(GitHub也提到了这个问题)。问题是webrick
不是GitHub Pages支持的宝石之一。因此,当GitHub Pages构建一个网站并看到webrick
时,它会给你警告消息,只是为了让你知道你正在使用GitHub Pages不支持的依赖项。
如果你的情况和我的相似,可以忽略。发生这种情况是因为我希望能够在本地建立我的网站并使用GitHub页面。当我在本地构建时,我需要webrick
,当它与GitHub页面构建时,它工作得很好,但它只是给你那个警告。在我的例子中,如果我删除其中的Gemfile
或webrick
行,警告就会消失。但是我不能在本地构建,所以我就离开它并忍受警告。
(这也有一个GitHub问题https://github.com/github/pages-gem/issues/887)