# Jekyll Crashing on M1 Mac

**URL:** <https://talk.jekyllrb.com/t/jekyll-crashing-on-m1-mac/6367>\
**Category:** Help\
**Created:** [August 25, 2021, 9:00am UTC](https://talk.jekyllrb.com/t/jekyll-crashing-on-m1-mac/6367 "2021-08-25T09:00:30Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![kevquirk](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/kevquirk/32/3173_2.png) [@kevquirk](https://talk.jekyllrb.com/u/kevquirk)\
**Post date:** [August 25, 2021, 9:00am UTC](https://talk.jekyllrb.com/t/jekyll-crashing-on-m1-mac/6367/1 "2021-08-25T09:00:30Z")

</div>

I’ve tried to do some work on one of my Jekyll sites this morning, but when I run `jekyll s` from the Git repository, Jekyll just crashes with a note saying:

```auto
[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: https://www.ruby-lang.org/bugreport.html

[IMPORTANT]
Don't forget to include the Crash Report log file under
DiagnosticReports directory in bug reports.

```

If I run `ruby -v` it gives me the latest version, and this was all working a couple days ago.

```auto
ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [arm64-darwin20]

```

I’ve uploaded the full crash report to pastebin. [See here](https://pastebin.com/v6P5DWwB).

The only change I’ve made is that I’ve upgraded the OS to the latest version yesterday (Big Sur 11.5.2).

I’ve also done all the usual stuff, like `bundle update` to make sure everything is up to date.

Any assistance would be greatly appreciate here.

Thanks,

Kev

---

<div class="post-metadata">

**Author:** ![MichaelCurrin](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/michaelcurrin/32/2340_2.png) [@MichaelCurrin](https://talk.jekyllrb.com/u/MichaelCurrin)\
**Post date:** [August 26, 2021, 6:41am UTC](https://talk.jekyllrb.com/t/jekyll-crashing-on-m1-mac/6367/2 "2021-08-26T06:41:24Z")

</div>

I’m getting a Forbidden error.

What do other people say on StackOverflow if you Google your error?

Can you get anything in Ruby to run?  
Even the Ruby console?

```auto
Ruby
# or
irb

```

Might be a Ruby thing not Jekyll.

Either way a reinstall of Ruby and Jekyll and checking your PATH setup could help

---

<div class="post-metadata">

**Author:** ![kevquirk](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/kevquirk/32/3173_2.png) [@kevquirk](https://talk.jekyllrb.com/u/kevquirk)\
**Post date:** [August 26, 2021, 6:58am UTC](https://talk.jekyllrb.com/t/jekyll-crashing-on-m1-mac/6367/3 "2021-08-26T06:58:59Z")

</div>

Ah crap, I made the paste private instead of unlisted. Fixed now so you should be able to access it.

I’ve tried reinstalling both Ruby and Jekyll, but it didn’t work. The Mac comes with Ruby 2.6 bundled, and paths are correct, that doesn’t even work, never mind upgrading to v3 using home brew.

I’ll try and run Ruby when I’m at my machine shortly and will update.

---

<div class="post-metadata">

**Author:** ![kevquirk](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/kevquirk/32/3173_2.png) [@kevquirk](https://talk.jekyllrb.com/u/kevquirk)\
**Post date:** [August 26, 2021, 7:41am UTC](https://talk.jekyllrb.com/t/jekyll-crashing-on-m1-mac/6367/4 "2021-08-26T07:41:35Z")

</div>

Both `Ruby` and `irb` commands work.

---

<div class="post-metadata">

**Author:** ![michaelbach](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/michaelbach/32/2151_2.png) [@michaelbach](https://talk.jekyllrb.com/u/michaelbach)\
**Post date:** [August 26, 2021, 8:08am UTC](https://talk.jekyllrb.com/t/jekyll-crashing-on-m1-mac/6367/5 "2021-08-26T08:08:25Z")

</div>

I was afraid I’d run into same problem. When I ran `jekyll serve` I got:  
`Could not find listen-3.6.0 in any of the sources`  
so I dared run my full update chain:

> brew update  
> brew upgrade  
> brew cleanup -s  
> gem update  
> …

and now things are all fine and dandy on an M1.

---

<div class="post-metadata">

**Author:** ![MichaelCurrin](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/michaelcurrin/32/2340_2.png) [@MichaelCurrin](https://talk.jekyllrb.com/u/MichaelCurrin)\
**Post date:** [August 26, 2021, 9:20am UTC](https://talk.jekyllrb.com/t/jekyll-crashing-on-m1-mac/6367/6 "2021-08-26T09:20:55Z")

</div>

Ruby 2.6 will work.

You can use bundler to install Jekyll in `vendor` in project gems. i.e. not a global Jekyll gem.

Then later you can use custom Ruby (I recommend 3) and add it to your PATH (it looks like that’s already set up). The system Ruby and the system gems are _frozen_ since Catalina, so it is more flexible to have a custom Ruby that you upgrade whenever you need

Sorry no new commands to recommend but Michael’s comments above could help.

Your pastebin is public but really vague. Nothing about what failed in Ruby or Jekyll other than maybe `ffi_c` ?

Another M1 topic including ffi\_c [Jekyll Installation on Macs w/ARM64 w/o Package Manager](https://talk.jekyllrb.com/t/jekyll-installation-on-macs-w-arm64-w-o-package-manager/5365)

---

<div class="post-metadata">

**Author:** ![kevquirk](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/kevquirk/32/3173_2.png) [@kevquirk](https://talk.jekyllrb.com/u/kevquirk)\
**Post date:** [August 26, 2021, 9:27am UTC](https://talk.jekyllrb.com/t/jekyll-crashing-on-m1-mac/6367/7 "2021-08-26T09:27:09Z")

</div>

So I managed to get this working by basically removing all of the non Mac bundled version of Ruby and Jekyll. So:

```auto
brew uninstall ruby

```

Then I followed @michaelbach solution above to update everything and cleanup brew. I then re-installed using the Mac bundled 2.6 instead of the latest 3.0.

I then followed the [Mac Jekyll install process](https://jekyllrb.com/docs/installation/macos/) with the following:

```auto
gem install --user-install bundler jekyll
echo 'export PATH="$HOME/.gem/ruby/2.6.0/bin:$PATH"' >> ~/.zshrc

```

When I then ran `jekyll s` from my Jekyll repository, I got `zsh: command not found: jekyll`. So I had to change the install command to the following:

```auto
sudo gem install bundler jekyll

```

That seemed to have worked and I can sun the local server now. **HOWEVER** Jekyll recommends that global gem installs shouldn’t happen, so I’m not really happy with this solution, but it’s working.

If anyone has a solution for the command not found issue, I’m all ears. 🙂

---

<div class="post-metadata">

**Author:** ![MichaelCurrin](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/michaelcurrin/32/2340_2.png) [@MichaelCurrin](https://talk.jekyllrb.com/u/MichaelCurrin)\
**Post date:** [August 26, 2021, 10:04am UTC](https://talk.jekyllrb.com/t/jekyll-crashing-on-m1-mac/6367/8 "2021-08-26T10:04:02Z")

</div>

> [@kevquirk](#):
>
> `echo 'export PATH="$HOME/.gem/ruby/2.6.0/bin:$PATH"' >> ~/.zshrc`

Have look at where Jekyll exists

```sh
ls ~/.gem/ruby/2.6.0/bin

```

Is it there?

What about your PATH?

```auto
echo $PATH

```

also make sure the bin is near the _start_ of the `PATH` as it is evaluated left to right.

Did you reload you shell to get the path update? Are you definitely using ZSH and not Bash?

Note also when you _do_ use Ruby 3, it doesn’t use `.gem` location anymore.

> <https://gist.github.com/MichaelCurrin/fb758aea4d35e03b9ed093afddf4e7ec#user-install>

Yeah using `sudo` will install to `/usr/.../`

Also can I suggest _not_ installing Jekyll using `gem install` ? Just have Bundler at the user level and check is it is in `~/.gem` etc. And then use `Gemfile` and Bundler to install Jekyll per project for more robustness across projects and machines, with appropriate Jekyll 3.9, Jekyll 4.1, 4.2 etc. as needed

---

<div class="post-metadata">

**Author:** ![MichaelCurrin](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/michaelcurrin/32/2340_2.png) [@MichaelCurrin](https://talk.jekyllrb.com/u/MichaelCurrin)\
**Post date:** [August 26, 2021, 10:07am UTC](https://talk.jekyllrb.com/t/jekyll-crashing-on-m1-mac/6367/9 "2021-08-26T10:07:46Z")

</div>

Another approach is change permissions of this directory owned by root, so that all users can edit it

```auto
sudo chmod 755 /usr/local # or /usr/bin - I don't know anymore

```

to get to `drwxr-xr-x`

Then you can install without sudo or `--user-install`

```auto
gem install jekyll bundler

```

```auto
which -a bundler
/usr/local/opt/ruby/bin/bundler # first
/usr/bin/bundler # second, not used

```

---

<div class="post-metadata">

**Author:** ![MichaelCurrin](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/michaelcurrin/32/2340_2.png) [@MichaelCurrin](https://talk.jekyllrb.com/u/MichaelCurrin)\
**Post date:** [August 26, 2021, 10:09am UTC](https://talk.jekyllrb.com/t/jekyll-crashing-on-m1-mac/6367/10 "2021-08-26T10:09:21Z")

</div>

From Ruby 3 on, a custom Ruby comes with its own Bundler too - `/usr/local/opt/ruby/bin/bundler`

so you could even leave out install Bundler at the user level

---

<div class="post-metadata">

**Author:** ![michaelbach](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/michaelbach/32/2151_2.png) [@michaelbach](https://talk.jekyllrb.com/u/michaelbach)\
**Post date:** [August 26, 2021, 10:09am UTC](https://talk.jekyllrb.com/t/jekyll-crashing-on-m1-mac/6367/11 "2021-08-26T10:09:21Z")

</div>

Is your path ok? I don’t use zsh yet, in bash\_profile it’s like this:

> export PATH=“/usr/local/opt/ruby/bin:$PATH”  
> export PATH=/Users/bach/.gem/ruby/2.6.0/bin:$PATH  
> export GEM\_HOME=$HOME/gems  
> export PATH=$HOME/gems/bin:$PATH

Of course the "/Users/bach/ needs to be adapted. Probably could use $Home there too, but I don’t dare to change the winning team 🙂 .

---

<div class="post-metadata">

**Author:** ![kevquirk](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/kevquirk/32/3173_2.png) [@kevquirk](https://talk.jekyllrb.com/u/kevquirk)\
**Post date:** [August 26, 2021, 10:19am UTC](https://talk.jekyllrb.com/t/jekyll-crashing-on-m1-mac/6367/12 "2021-08-26T10:19:00Z")

</div>

Yes, the path is correct.  
Yes, I’m using ZSH.

```auto
% ls ~/.gem/ruby/2.6.0/bin
bundle kramdown	rougify
bundler listen safe_yaml

```

```auto
% echo $SHELL
/bin/zsh

```

```auto
% echo $PATH
/Users/kev/.gem/ruby/2.6.0/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

```

---

<div class="post-metadata">

**Author:** ![MichaelCurrin](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/michaelcurrin/32/2340_2.png) [@MichaelCurrin](https://talk.jekyllrb.com/u/MichaelCurrin)\
**Post date:** [August 26, 2021, 10:22am UTC](https://talk.jekyllrb.com/t/jekyll-crashing-on-m1-mac/6367/13 "2021-08-26T10:22:23Z")

</div>

> [@kevquirk](#):
>
> `gem install --user-install bundler jekyll`

I guess try this again to add `jekyll` to that `bin`.

```auto
gem install --user-install jekyll

```

Then run `ls` again.

---

<div class="post-metadata">

**Author:** ![kevquirk](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/kevquirk/32/3173_2.png) [@kevquirk](https://talk.jekyllrb.com/u/kevquirk)\
**Post date:** [August 26, 2021, 10:26am UTC](https://talk.jekyllrb.com/t/jekyll-crashing-on-m1-mac/6367/14 "2021-08-26T10:26:02Z")

</div>

So that worked, but now I’m back to square one with Jekyll crashing when I run `jekyll s` 🤣

If I try `bundle exec jekyll serve` I get:

`jekyll 4.2.0 | Error: no implicit conversion of File into String`

---

<div class="post-metadata">

**Author:** ![michaelbach](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/michaelbach/32/2151_2.png) [@michaelbach](https://talk.jekyllrb.com/u/michaelbach)\
**Post date:** [August 26, 2021, 10:29am UTC](https://talk.jekyllrb.com/t/jekyll-crashing-on-m1-mac/6367/15 "2021-08-26T10:29:13Z")

</div>

oh my, I’m sorry and out of ideas too…

---

<div class="post-metadata">

**Author:** ![kevquirk](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/kevquirk/32/3173_2.png) [@kevquirk](https://talk.jekyllrb.com/u/kevquirk)\
**Post date:** [August 26, 2021, 10:30am UTC](https://talk.jekyllrb.com/t/jekyll-crashing-on-m1-mac/6367/16 "2021-08-26T10:30:20Z")

</div>

No problem, thanks for all the help! I might just learn 11ty at this point and use that instead haha.

---

<div class="post-metadata">

**Author:** ![BillRaymond](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/billraymond/32/5963_2.png) [@BillRaymond](https://talk.jekyllrb.com/u/BillRaymond)\
**Post date:** [August 26, 2021, 3:04pm UTC](https://talk.jekyllrb.com/t/jekyll-crashing-on-m1-mac/6367/17 "2021-08-26T15:04:16Z")

</div>

This error sounds like it could have to do with the project you are working on and not Jekyll itself. You might want to create a new thread, share your repo if publicly available, and perhaps solve the problem.

Could you try the basic steps to create a new default site using Jekyll just to make sure it’s not coffee related?

> **[Quickstart](https://jekyllrb.com/docs/)**
>
> Jekyll is a static site generator. It takes text written in your favorite markup language and uses layouts to create a static website. You can tweak the site’s look and feel, URLs, the data displayed on the page, and more.

---

<div class="post-metadata">

**Author:** ![kevquirk](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/kevquirk/32/3173_2.png) [@kevquirk](https://talk.jekyllrb.com/u/kevquirk)\
**Post date:** [August 26, 2021, 4:21pm UTC](https://talk.jekyllrb.com/t/jekyll-crashing-on-m1-mac/6367/18 "2021-08-26T16:21:12Z")

</div>

Hey Bill,

Thanks for the reply. This isn’t an issue with the project, as it effects more than one and I can use them just fine on my Linux box.

If you want to check though, here’s an example - [GitHub - kevquirk/512kb.club: Website for the 512 KB Club](https://github.com/kevquirk/512kb.club)

---

<div class="post-metadata">

**Author:** ![MichaelCurrin](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/michaelcurrin/32/2340_2.png) [@MichaelCurrin](https://talk.jekyllrb.com/u/MichaelCurrin)\
**Post date:** [August 26, 2021, 7:52pm UTC](https://talk.jekyllrb.com/t/jekyll-crashing-on-m1-mac/6367/19 "2021-08-26T19:52:43Z")

</div>

Make it

```auto
bundle exec jekyll serve --trace

```

In general works great for verbose errors.

Also try

```auto
--verbose

```

Not good for general use as it is noisy but can tell you the exact Ruby line that was run before your error.

* * *

Similar issue on another project relating to YAML indentation

[Topic](https://talk.jekyllrb.com/t/jekyll-build-fails-sort-docs-no-implicit-conversion-of-string-into-integer/3678)

---

<div class="post-metadata">

**Author:** ![MichaelCurrin](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/michaelcurrin/32/2340_2.png) [@MichaelCurrin](https://talk.jekyllrb.com/u/MichaelCurrin)\
**Post date:** [August 26, 2021, 7:56pm UTC](https://talk.jekyllrb.com/t/jekyll-crashing-on-m1-mac/6367/20 "2021-08-26T19:56:57Z")

</div>

Also you might find that your exclude value has overwritten the default but left out the existing values

> <https://github.com/kevquirk/512kb.club/blob/master/_config.yml#L24>

Try adding

```auto
  - vendor

```

[Next page](https://talk.jekyllrb.com/t/jekyll-crashing-on-m1-mac/6367.md?page=2)
