一个降级的jekyll如何与github页面一起使用?

时间:2019-10-28 20:39:21

标签: ruby rubygems jekyll bundler

我认为我的主要问题是github页面不支持jekyll 4。这对我来说很好,但是无论如何我都将jekyll降级为工作状态?

我尝试按照此处的说明进行操作:https://github.com/github/pages-gem/issues/577

基本上似乎建议使用旧版本的jekyll。我这样做很好,但似乎Bundle拒绝服从我,我不知道为什么,或者我陷入无法摆脱的怪圈。

所以我得到的主要错误是:

$ bundle
Fetching gem metadata from https://rubygems.org/..........
Fetching gem metadata from https://rubygems.org/.
You have requested:
  jekyll ~> 3.8.5

The bundle currently has jekyll locked at 4.0.0.
Try running `bundle update jekyll`

If you are updating multiple gems in your Gemfile at once,
try passing them all to `bundle update`

但是似乎我被锁定为4。我尝试了解锁,但似乎无法正常工作。我最近的尝试是:

$ gem install jekyll -v 3.8.5
Fetching kramdown-1.17.0.gem
Fetching jekyll-3.8.5.gem
Fetching sass-listen-4.0.0.gem
Fetching sass-3.7.4.gem
Fetching jekyll-sass-converter-1.5.2.gem
Fetching i18n-0.9.5.gem
Successfully installed kramdown-1.17.0
Successfully installed sass-listen-4.0.0

Ruby Sass has reached end-of-life and should no longer be used.

* If you use Sass as a command-line tool, we recommend using Dart Sass, the new
  primary implementation: https://sass-lang.com/install

* If you use Sass as a plug-in for a Ruby web framework, we recommend using the
  sassc gem: https://github.com/sass/sassc-ruby#readme

* For more details, please refer to the Sass blog:
  https://sass-lang.com/blog/posts/7828841

Successfully installed sass-3.7.4
Successfully installed jekyll-sass-converter-1.5.2
Successfully installed i18n-0.9.5
Successfully installed jekyll-3.8.5
Parsing documentation for kramdown-1.17.0
Installing ri documentation for kramdown-1.17.0
Parsing documentation for sass-listen-4.0.0
Installing ri documentation for sass-listen-4.0.0
Parsing documentation for sass-3.7.4
Installing ri documentation for sass-3.7.4
Parsing documentation for jekyll-sass-converter-1.5.2
Installing ri documentation for jekyll-sass-converter-1.5.2
Parsing documentation for i18n-0.9.5
Installing ri documentation for i18n-0.9.5
Parsing documentation for jekyll-3.8.5
Installing ri documentation for jekyll-3.8.5
Done installing documentation for kramdown, sass-listen, sass, jekyll-sass-converter, i18n, jekyll after 8 seconds
6 gems installed

但是当我尝试使用命令Gemfilebundle捆绑在一起后,出现以下错误:

$ gem install jekyll -v 3.8.5
Fetching kramdown-1.17.0.gem
Fetching jekyll-3.8.5.gem
Fetching sass-listen-4.0.0.gem
Fetching sass-3.7.4.gem
Fetching jekyll-sass-converter-1.5.2.gem
Fetching i18n-0.9.5.gem
Successfully installed kramdown-1.17.0
Successfully installed sass-listen-4.0.0

Ruby Sass has reached end-of-life and should no longer be used.

* If you use Sass as a command-line tool, we recommend using Dart Sass, the new
  primary implementation: https://sass-lang.com/install

* If you use Sass as a plug-in for a Ruby web framework, we recommend using the
  sassc gem: https://github.com/sass/sassc-ruby#readme

* For more details, please refer to the Sass blog:
  https://sass-lang.com/blog/posts/7828841

Successfully installed sass-3.7.4
Successfully installed jekyll-sass-converter-1.5.2
Successfully installed i18n-0.9.5
Successfully installed jekyll-3.8.5
Parsing documentation for kramdown-1.17.0
Installing ri documentation for kramdown-1.17.0
Parsing documentation for sass-listen-4.0.0
Installing ri documentation for sass-listen-4.0.0
Parsing documentation for sass-3.7.4
Installing ri documentation for sass-3.7.4
Parsing documentation for jekyll-sass-converter-1.5.2
Installing ri documentation for jekyll-sass-converter-1.5.2
Parsing documentation for i18n-0.9.5
Installing ri documentation for i18n-0.9.5
Parsing documentation for jekyll-3.8.5
Installing ri documentation for jekyll-3.8.5
Done installing documentation for kramdown, sass-listen, sass, jekyll-sass-converter, i18n, jekyll after 8 seconds
6 gems installed

好的,我会尝试更新,并且我会bundle update

$ bundle update
Fetching gem metadata from https://rubygems.org/...........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies....
Bundler could not find compatible versions for gem "jekyll":
  In Gemfile:
    github-pages was resolved to 4, which depends on
      jekyll (= 1.1.2)

    jekyll-feed (~> 0.12) was resolved to 0.12.1, which depends on
      jekyll (>= 3.7, < 5.0)

Bundler could not find compatible versions for gem "jekyll-feed":
  In Gemfile:
    github-pages was resolved to 36, which depends on
      jekyll-feed (= 0.2.3)

    minima (~> 2.5) was resolved to 2.5.0, which depends on
      jekyll-feed (~> 0.9)

Bundler could not find compatible versions for gem "tzinfo":
  In Gemfile:
    tzinfo (~> 1.2)

    tzinfo-data was resolved to 1.2019.3, which depends on
      tzinfo (>= 1.0.0)

这让我陷入困境...任何想法怎么办?

我也尝试遵循Gemfile中的指示,但未成功:

$ bundle update github-pages
Could not find gem 'github-pages'.

通过运行他们说的命令,我得到了错误:

$ bundle update github-pages
Could not find gem 'github-pages'.

我也运行了这个bundle install

$ bundle install
Fetching gem metadata from https://rubygems.org/...........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Bundler could not find compatible versions for gem "jekyll-feed":
  In snapshot (Gemfile.lock):
    jekyll-feed (= 0.12.1)

  In Gemfile:
    github-pages was resolved to 36, which depends on
      jekyll-feed (= 0.2.3)

    minima (~> 2.5) was resolved to 2.5.1, which depends on
      jekyll-feed (~> 0.9)

Running `bundle update` will rebuild your snapshot from scratch, using only
the gems in your Gemfile, which may resolve the conflict.

Bundler could not find compatible versions for gem "kramdown":
  In snapshot (Gemfile.lock):
    kramdown (= 2.1.0)

  In Gemfile:
    github-pages was resolved to 8, which depends on
      kramdown (= 1.0.2)

    minima (~> 2.5) was resolved to 2.5.1, which depends on
      jekyll-feed (~> 0.9) was resolved to 0.12.1, which depends on
        jekyll (>= 3.7, < 5.0) was resolved to 4.0.0, which depends on
          kramdown (~> 2.1)

Running `bundle update` will rebuild your snapshot from scratch, using only
the gems in your Gemfile, which may resolve the conflict.

Bundler could not find compatible versions for gem "minima":
  In snapshot (Gemfile.lock):
    minima (= 2.5.1)

  In Gemfile:
    minima (~> 2.5)

    github-pages was resolved to 94, which depends on
      minima (= 1.0.1)

Running `bundle update` will rebuild your snapshot from scratch, using only
the gems in your Gemfile, which may resolve the conflict.

我也做了:

gem install github-pages

已安装...不确定是否会使情况更糟...


我曾经帮助过我的资源:

但是还没有一个人解决我的问题。

2 个答案:

答案 0 :(得分:2)

您的宝石文件应如下所示:

source 'https://rubygems.org'

# will install all gh-pages allowed gems
# see : https://pages.github.com/versions/
gem 'github-pages'

# comment out all other gems
# gem 'jekyll'
# gem 'jekyll-feed'
# gem ...

删除 Gemfile.lock

您现在可以执行bundle,它将安装所有必需的gem来测试实际的github-pages版本。

答案 1 :(得分:1)

当前的github页面版本要求您设置使用Jekyll 3.8.5和github-pages202。当我进行设置时,我还必须设置jekyll feed的特定版本。这是您在Gemfile中需要的相关行:

gem "jekyll", "~> 3.8.5"
gem "github-pages","~> 202" , group: :jekyll_plugins
# If you have any plugins, put them here!
group :jekyll_plugins do
  gem "jekyll-feed", "~> 0.11.0"
end

然后,尝试删除Gemfile.lock并运行bundle install

我有一个安装了最低版本的仓库here