How to install jekyll?
Solution 1
On my 13.04 and 14.04 systems, things worked for me after installing the ruby-dev package, then running the gem install:
sudo apt-get install ruby1.9.1-dev
(or try:ruby-dev
instead)gem install jekyll
# if this fails thensudo gem install jekyll
After that, jekyll was installed correctly.
Note that for the gem install
instruction, it is better not to use sudo.*****
It's better to use something like RVM, so that sudo
isn't required. On some systems it may be necessary to use sudo
, if for instance permissions were set by previous sudo commands or root-level configuration.
See this stackoverflow question -- how to install gems without sudo for more information and for help on getting permissions set to user instead of root.
***** Credit to @iguarav for this best practices advice as well as the link to rvm.io.
Solution 2
Guide for 14.04 LTS without RVM
Jekyll 3 needs ruby 2.0 or higher, so we first install ruby 2.0, it's development headers and nodejs:
sudo apt-get install -y ruby2.0 ruby2.0-dev nodejs
Then we point the commands included in the ruby package to the new version.
sudo update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby2.0 10
sudo update-alternatives --install /usr/bin/gem gem /usr/bin/gem2.0 10
sudo update-alternatives --install /usr/bin/irb irb /usr/bin/irb2.0 10
sudo update-alternatives --install /usr/bin/rdoc rdoc /usr/bin/rdoc2.0 10
sudo update-alternatives --install /usr/bin/testrb testrb /usr/bin/testrb2.0 10
sudo update-alternatives --install /usr/bin/rake rake /usr/bin/rake2.0 10
sudo update-alternatives --install /usr/bin/erb erb /usr/bin/erb2.0 10
sudo update-alternatives --install /usr/bin/ri ri /usr/bin/ri2.0 10
And finally we use gem
to install the jekyll gem.
sudo gem install jekyll
Solution 3
Also, you don't want to depend on sudo
for executing gems
, so I recommend to add your user to the root's group and:
sudo chmod -R 770 /var/lib/gems
sudo chmod -R 770 /usr/local/bin
Just doing a few updates on this thread. According the jekyll's installation docs the version needed is version 2. After fixing the permissions issue, I ran into that expected error:
ERROR: Error installing jekyll:
jekyll requires Ruby version >= 2.0.0.
Installing with RVM:
gpg --keyserver hkp://keys.gnupg.net --recv-keys \ 409B6B1796C275462A1703113804BB82D39DC0E3
curl -sSL https://get.rvm.io | bash -s stable --ruby
/bin/bash --login
rvm install 2.3.0
rvm use 2.3.0
rvm rubygems latest
ruby --version
rvm install ruby-dev
For other issues with the Ruby installation, follow this.
After that, it worked for me.
Related videos on Youtube
Comments
-
Christopher over 1 year
According to the jekyll site, this is how you make a new website with jekyll:
~ $ gem install jekyll ~ $ jekyll new myblog ~ $ cd myblog ~/myblog $ jekyll serve
gem install jekyll
didn't work, nor didsudo gem install jekyll
:└─>gem install jekyll ERROR: While executing gem ... (Errno::EACCES) Permission denied - /var/lib/gems/1.9.1/gems/fast-stemmer-1.0.2/LICENSE ┌─[Sat Jun 08][jon@jon-MacMini:~/Web] └─>sudo !! sudo gem install jekyll Building native extensions. This could take a while... ERROR: Error installing jekyll: ERROR: Failed to build gem native extension. /usr/bin/ruby1.9.1 extconf.rb /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError) from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from extconf.rb:1:in `<main>' Gem files will remain installed in /var/lib/gems/1.9.1/gems/fast-stemmer-1.0.2 for inspection. Results logged to /var/lib/gems/1.9.1/gems/fast-stemmer-1.0.2/ext/gem_make.out
I also tried following the answer here, but that doesn't help.
sudo apt-get install jekyll
works. Even then, though, runningjekyll new myblog
returns this error:└─>jekyll new myblog /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': iconv will be deprecated in the future, use String#encode instead. WARNING: Could not read configuration. Using defaults (and options). No such file or directory - new/_config.yml Building site: new -> myblog /usr/lib/ruby/vendor_ruby/jekyll/site.rb:126:in `chdir': No such file or directory - /home/jon/Web/new/ (Errno::ENOENT) from /usr/lib/ruby/vendor_ruby/jekyll/site.rb:126:in `read_directories' from /usr/lib/ruby/vendor_ruby/jekyll/site.rb:98:in `read' from /usr/lib/ruby/vendor_ruby/jekyll/site.rb:38:in `process' from /usr/bin/jekyll:250:in `<main>'
Anyone know what's causing this?
-
Admin almost 11 yearsUbuntu 13.04. I installed ruby the usual way:
sudo apt-get install ruby
. -
Admin over 7 yearsFor Ubuntu 12.04 LTS see this.
-
-
Christopher almost 11 yearsThat worked. I also had to add the gem directory to my PATH, though, in order to be able to run
jekyll
from the command-line. I also had to uninstall the ubuntu package version, which doesn't have thenew
subcommand. -
xhenryx14 over 10 yearsThis worked for me. Also, I first tried installing and using ruby2.0-dev but without luck.
-
Meta almost 10 yearsconfirmed to work at ubuntu 14.04
-
igauravsehrawat almost 10 yearsyou should not use sudo with gem install since these are just reusable libraries
-
igauravsehrawat almost 10 years@belacqua best practices recommend usage of RVM rvm.io . if you use sudo excessively , you soon will be facing dependency problems .
-
WestCoastProjects over 9 years@Jon Where did you find the jekyll gem directory? i can not find it under /var/lib/gems/1.8/gems
-
belacqua over 9 years@javadba If you are using these instructions, look under /var/lib/gems/1.9.1 instead. Do you have a
/var/lib/gems
at all?