Jekyll - command not found

51,785

Solution 1

The easiest method of doing this is to use RVM. It manages Ruby and all its gems for you and it's easy to use. See this link for using it.

If you did not want to use that you will need to modify your PATH variables so it can find your gems. I have found this to be tedious and reverted to RVM, but here are the general steps.

You will need to find out where your gems are getting installed. If you did gem install ... the gems will be in ~/.gem/ruby/1.8/gems/bin, if you used sudo gem install ... the gems will be somewhere in /System/Library/Frameworks/Ruby.framework/Versions/1.8/Resources

You have to add this path to your PATH variable. Easiest way to do this is by running : echo 'PATH=$PATH:above/path/to/gems' >> ~/.bash_profile

Solution 2

If you are using MacOS, from the Troubleshooting guide:

Jekyll & Mac OS X 10.11Permalink

With the introduction of System Integrity Protection, several directories that were previously writable are now considered system locations and are no longer available. Given these changes, there are a couple of simple ways to get up and running. One option is to change the location where the gem will be installed (again, using sudo only if necessary):

$ gem install -n /usr/local/bin jekyll

Solution 3

For others coming here with the following set up:

OS X + brewed install of ruby + (possibly) zsh

I figured the problem is that after installing jekyll as per their instructions, gem installs the jekyll gem in the brew cellar, not where the OS usually expects it (somehwere in a gem directory for ruby).

So, all that was needed here was to find out where the brew install of ruby installs gems, locate the jekyll binary, and create a symbolic link to it in /usr/bin.

Here is are the steps I took to fix it:

  1. Type gem env and look for GEM PATHS. For me it was:

    /usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/gems/1.9.1.

  2. Make sure you can see the jekyll binary in the directory from 1 above and copy its path (if you can't, search any other paths listed in GEM PATHS for it). For me it was:

    /usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/gems/1.9.1/gems/jekyll-1.4.3/bin/jekyll

  3. Use the path from step 2 above to create a symlink to /usr/bin/jekyll. I did it by typing this (you might need sudo to create the symlink):

    cd /usr/bin && ln -s /usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/gems/1.9.1/gems/jekyll-1.4.3/bin/jekyll jekyll

Now all should be merry if you type jekyll.

Solution 4

If you are using RBENV instead of RVM you simply need to run rehash in the command line after installing jekyll:

rbenv rehash

Solution 5

Maybe a little late, but... I had some trouble to install Jekyll on Ubuntu and tried everything that people answered in this thread - unfortunately nothing worked.
Then, I watched a video on Jekyll's site and after installing the whole ruby package again, sudo gem install jekyll worked.

Try it before anything else:

sudo apt-get update

sudo apt-get install ruby-full

sudo gem install jekyll

jekyll -v

It seems pretty simple, but it works on Ubuntu.

Share:
51,785
DADU
Author by

DADU

Having more questions than answers currently. So thank you to anybody who is so very kind to answer such a question!

Updated on December 06, 2020

Comments

  • DADU
    DADU over 3 years

    I am trying to get Jekyll running but I have no experience with Ruby.
    As far as I can tell the installation of Jekyll has succeeded.
    However:

    $ jekyll
    

    Gives an error:

    -bash: jekyll: command not found
    

    This is the gem env result:

      - RUBYGEMS VERSION: 1.3.4
      - RUBY VERSION: 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin10.0]
      - INSTALLATION DIRECTORY: /Volumes/HDD/DADU/gems
      - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
      - EXECUTABLE DIRECTORY: /Volumes/HDD/DADU/gems/bin
      - RUBYGEMS PLATFORMS:
        - ruby
        - universal-darwin-10
      - GEM PATHS:
         - /Volumes/HDD/DADU/gems
         - /Volumes/HDD/DADU/.gem/ruby/1.8
         - /Library/Ruby/Gems/1.8
         - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
      - GEM CONFIGURATION:
         - :update_sources => true
         - :verbose => true
         - :benchmark => false
         - :backtrace => false
         - :bulk_threshold => 1000
      - REMOTE SOURCES:
         - http://gems.rubyforge.org/
    

    And I found the following paths leading to "something" Jekyll:

    • ~.gem/ruby/1.8/gems/jekyll-0.11.0/lib/jekyll.rb
    • ~.gem/ruby/1.8/gems/bin/jekyll (exec file)