Netlify build—bash: jekyll: command not found

Hi guys,

I’m getting stuck at something that should probably be very easy to deal with… But for some I’m not able to figure out what I need to solve it.

My system: MacOS, zsh, ruby 2.7.1p83 installed via homebrew, jekyll 4.0.0

When I run netlify build I get the following error: bash: jekyll: command not found

Fair enough, if I switch to bash with exec bash and run jekyll I get the same error. But it’s working just fine in zsh.

echo $PATH returns the same both from zsh and bash:

/usr/local/opt/ruby/bin:/usr/local/opt/ruby/bin:/Users/tkrunning/bin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/opt/ruby/bin:/Users/tkrunning/bin

Can I somehow just make netlify build use zsh, or does it need to use bash?

Some stuff I already tried:

  • Adding the following to my otherwise empty .bash_profile:
export PATH="/usr/local/opt/ruby/bin:$PATH"
if which ruby >/dev/null && which gem >/dev/null; then
    PATH="$(ruby -r rubygems -e 'puts Gem.user_dir')/bin:$PATH"
fi
  • installed jekyll again using bash

my gem env output:

RubyGems Environment:
  - RUBYGEMS VERSION: 3.1.2
  - RUBY VERSION: 2.7.1 (2020-03-31 patchlevel 83) [x86_64-darwin19]
  - INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/2.7.0
  - USER INSTALLATION DIRECTORY: /Users/tkrunning/.gem/ruby/2.7.0
  - RUBY EXECUTABLE: /usr/local/opt/ruby/bin/ruby
  - GIT EXECUTABLE: /usr/bin/git
  - EXECUTABLE DIRECTORY: /usr/local/lib/ruby/gems/2.7.0/bin
  - SPEC CACHE DIRECTORY: /Users/tkrunning/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /usr/local/Cellar/ruby/2.7.1_2/etc
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-19
  - GEM PATHS:
     - /usr/local/lib/ruby/gems/2.7.0
     - /Users/tkrunning/.gem/ruby/2.7.0
     - /usr/local/Cellar/ruby/2.7.1_2/lib/ruby/gems/2.7.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /usr/local/opt/ruby/bin
     - /usr/local/opt/ruby/bin
     - /Users/tkrunning/bin
     - /usr/local/bin
     - /usr/local/lib/ruby/bin
     - /usr/local/opt/ruby/bin
     - /usr/local/opt/ruby/bin
     - /Users/tkrunning/bin
     - /usr/local/bin
     - /usr/local/bin
     - /usr/bin
     - /bin
     - /usr/sbin
     - /sbin
     - /usr/local/opt/ruby/bin
     - /Users/tkrunning/bin

Any ideas?

Hi, welcome to the Netlify community forum!

This Stack Overflow post might help. Otherwise, try asking the Jekyll community, as your issue is a bit out of the Netlify scope.

2 Likes

Nice! This sounds like a fun one :nerd_face: first, which version of macOS are you using? The default system shell switched to Zsh in… I think Catalina, so if you’re already on Catalina, the following may be moot…

While it may be some shell churn or something like that; try running bundle exec jekyll build and see if that resolves?

Thanks, but I already gave that a try. I figured there might be a way to make Netlify Build rely on zsh, which is why I posted here.

It’s unfortunately also not working… And yes, I’m on Catalina, but had been using zsh for a few years prior to that. Did a fresh install of Catalina when upgrading, though.

Thanks for your help guys :slight_smile: I’ll see if I can find help on SO or somewhere else. Or maybe I’ll just skip using Netlify Build for the time being.

Hm. I mean I too have been running Zsh for years and run all of my local netlify dev just fine with it, but I wonder if your PATH is augmented only by Zsh and Bash isn’t getting those same augmentations :thinking: let us know if you find something that works!


Jon

1 Like