github / github/pages-gem

Update GithubPages to use Ruby 3.x and latest jekyll

Open
#825 2 comments 8 reactions 0 assignees View on GitHub
Dominant language
Ruby
Stars
1.9k
Forks
360
PR merge metrics
No merged PRs in 30d

Description

### Before submitting an issue, please be sure to

- [x] Read [the contributing instructions](https://github.com/github/pages-gem/blob/master/docs/CONTRIBUTING.md#contributing-to-the-github-pages-gem)
- [x] Update to the latest Gem version (run `bundle update github-pages`)

### This issue affects

- [ ] The site generated by GitHub Pages
- [x] Building sites locally

*The GitHub Pages Gem is intended to help users replicate the GitHub Pages build environment locally. If your issue affects both the hosted version and the version previewed locally, you may be better suited reporting [seeking support in other forums](https://github.com/github/pages-gem/blob/master/docs/SUPPORT.md).*

### What did you do (e.g., steps to reproduce)

Hi there,
I'm trying to build my website locally and getting ruby crash after running `bundle exec jekyll serve`:
crash log

```console
Configuration file: /home/username/git/sCHEMe-website/_config.yml
Source: /home/username/git/sCHEMe-website
Destination: /home/username/git/sCHEMe-website/_site
Incremental build: disabled. Enable with --incremental
Generating...
GitHub Metadata: No GitHub API authentication could be found. Some fields may be missing or have incorrect data.
done in 0.658 seconds.
jekyll 3.9.0 | Error: no implicit conversion of Hash into Integer
/usr/share/gems/gems/pathutil-0.16.2/lib/pathutil.rb:502:in `read': no implicit conversion of Hash into Integer (TypeError)
from /usr/share/gems/gems/pathutil-0.16.2/lib/pathutil.rb:502:in `read'
from /usr/share/gems/gems/jekyll-3.9.0/lib/jekyll/utils/platforms.rb:75:in `proc_version'
from /usr/share/gems/gems/jekyll-3.9.0/lib/jekyll/utils/platforms.rb:40:in `bash_on_windows?'
from /usr/share/gems/gems/jekyll-3.9.0/lib/jekyll/commands/build.rb:77:in `watch'
from /usr/share/gems/gems/jekyll-3.9.0/lib/jekyll/commands/build.rb:43:in `process'
from /usr/share/gems/gems/jekyll-3.9.0/lib/jekyll/commands/serve.rb:93:in `block in start'
from /usr/share/gems/gems/jekyll-3.9.0/lib/jekyll/commands/serve.rb:93:in `each'
from /usr/share/gems/gems/jekyll-3.9.0/lib/jekyll/commands/serve.rb:93:in `start'
from /usr/share/gems/gems/jekyll-3.9.0/lib/jekyll/commands/serve.rb:75:in `block (2 levels) in init_with_program'
from /usr/share/gems/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `block in execute'
from /usr/share/gems/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `each'
from /usr/share/gems/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `execute'
from /usr/share/gems/gems/mercenary-0.3.6/lib/mercenary/program.rb:42:in `go'
from /usr/share/gems/gems/mercenary-0.3.6/lib/mercenary.rb:19:in `program'
from /usr/share/gems/gems/jekyll-3.9.0/exe/jekyll:15:in `'
from /usr/bin/jekyll:23:in `load'
from /usr/bin/jekyll:23:in `'
from /usr/share/gems/gems/bundler-2.2.22/lib/bundler/cli/exec.rb:63:in `load'
from /usr/share/gems/gems/bundler-2.2.22/lib/bundler/cli/exec.rb:63:in `kernel_load'
from /usr/share/gems/gems/bundler-2.2.22/lib/bundler/cli/exec.rb:28:in `run'
from /usr/share/gems/gems/bundler-2.2.22/lib/bundler/cli.rb:474:in `exec'
from /usr/share/gems/gems/bundler-2.2.22/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
from /usr/share/gems/gems/bundler-2.2.22/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
from /usr/share/gems/gems/bundler-2.2.22/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
from /usr/share/gems/gems/bundler-2.2.22/lib/bundler/cli.rb:30:in `dispatch'
from /usr/share/gems/gems/bundler-2.2.22/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
from /usr/share/gems/gems/bundler-2.2.22/lib/bundler/cli.rb:24:in `start'
from /usr/share/gems/gems/bundler-2.2.22/libexec/bundle:49:in `block in '
from /usr/share/gems/gems/bundler-2.2.22/lib/bundler/friendly_errors.rb:128:in `with_friendly_errors'
from /usr/share/gems/gems/bundler-2.2.22/libexec/bundle:37:in `'
from /usr/bin/bundle:23:in `load'
from /usr/bin/bundle:23:in `'
```

I'm using ruby 3.0.2
```
$ ruby --version
ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux]
```

steps to reproduce are:
- clone any github-jekyll website (e.g. that one I'm trying to build: https://github.com/neonknights/sCHEMe-website)
- create Gemfile (as there is no one yet)
```sh
echo -en "source 'https://rubygems.org'\ngem 'github-pages', group: :jekyll_plugins" >> Gemfile
```
- rund bundler
```sh
bundle install
```
- serve site
```sh
bundle exec jekyll serve
```
- will see crash

### What did you expect to happen?

site should be served

### What happened instead?

crash I mentioned above

### Additional information

as far as I understand this happens because of ruby's backword compatibility as iirc github uses ruby 2.x but the currently used version is 3.x .
If so, is it possible to update that version?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.