Error running jekyll on ubuntu 14.04 - ruby

After installing jekyll on ubuntu 14.04 following this http://michaelchelen.net/81fa/install-jekyll-2-ubuntu-14-04/
it showed some warnings, but it said the installation was successful.
Then when I try to check the version using the command jekyll -v
it shows this
WARN: Unresolved specs during Gem::Specification.reset:
listen (< 3.1, ~> 3.0)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
/home/ant-ed/.gem/ruby/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:35:in block in setup': You have already activated colorator 1.1.0, but your Gemfile requires colorator 0.1. Prependingbundle execto your command may solve this. (Gem::LoadError)
from /home/ant-ed/.gem/ruby/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:20:inmap'
from /home/ant-ed/.gem/ruby/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:20:in setup'
from /home/ant-ed/.gem/ruby/2.3.0/gems/bundler-1.12.5/lib/bundler.rb:95:insetup'
from /home/ant-ed/.gem/ruby/2.3.0/gems/jekyll-3.2.0/lib/jekyll/plugin_manager.rb:36:in require_from_bundler'
from /home/ant-ed/.gem/ruby/2.3.0/gems/jekyll-3.2.0/exe/jekyll:9:in'
from /home/ant-ed/.gem/ruby/2.3.0/bin/jekyll:22:in load'
from /home/ant-ed/.gem/ruby/2.3.0/bin/jekyll:22:in'
Should I uninstall jekyll and try to install it again?

Switch to the directory where the site is located and run:
bundle install
bundle exec jekyll -v
This bundle exec prefix will load the proper gemset as specified in Gemfile.

Related

How can Bundler be inactive if it's appearing in my gem list?

Im trying to install this Rails project (https://github.com/mjohnson324/MockDoc/blob/master/docs/setup.md)
when running 'bundle install' I get the following error:
Traceback (most recent call last):
2: from /usr/bin/bundle:23:in `<main>'
1: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:302:in `activate_bin_path'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:283:in `find_spec_for_exe': Could not find 'bundler' (2.0.2) required by your /Users/michaelkoch/projects/MockDoc-master/Gemfile.lock. (Gem::GemNotFoundException)
To update to the latest version installed on your system, run `bundle update --bundler`.
To install the missing version, run `gem install bundler:2.0.2`
So I run 'gem install bundler:2.0.2' and the install seems to work. Here's the output:
Successfully installed bundler-2.0.2
Parsing documentation for bundler-2.0.2
Done installing documentation for bundler after 2 seconds
1 gem installed
If I run gem list I see the following line: bundler (2.1.4, 2.0.2)
If I run bundle install command again, I get the same orginal error, as if bundler is not installed.
I'm using rbenv to manage versions, as indicated by the Github project.
I kindly as for your help.
I encountered a similar issue on my MacBook M1 system while trying to use 2.1.4 for my project. I tried deleting the gemfile.lock and reinstalling by running gem install bundler:2.1.4 and then bundle install as suggested by #Giuseppe Schembri but that didn't solve my issue.
I navigated to the root directory, and tried to check the global version by running
bundler version
and got-
Bundler version 2.3.22 ([date] commit [commit_id])
I again navigated to my project directory, and ran bundler version again, and got -
Bundler version 2.1.4 ([date] commit [commit_id])
News flash: bundler 2.1.4 is installed for my project.
Then why does the error persist?
Aparently, I had a post-checkout file in my .git > hook which was trying to execute bundler exec pod install and failing.
Later I realized, it couldn't find the path for the bundler. so I get the path by running
type bundler
which returned
bundler is /Users/myUserName/.rbenv/shims/bundler
Then rather than bundler exec pod install, I used /Users/myUserName/.rbenv/shims/bundler exec pod install.
In the newer versions of OS on M1, this can happen.

Jekyll Serve not working

I have downloaded zip of this github repo - https://github.com/mmistakes/minimal-mistakes
I have installed bundler and I did bundle install , it worked perfectly.
Now when I try to run jekyll serve -w,
WARN: Unresolved specs during Gem::Specification.reset:
jekyll-watch (~> 1.1) WARN: Clearing out unresolved specs. Please report a bug if this causes problems. Configuration file:
/home/kenden/Desktop/minimal-mistakes-master/_config.yml
Dependency
Error: Yikes! It looks like you don't have jekyll-paginate or one of
its dependencies installed. In order to use Jekyll as currently
configured, you'll need to install this gem. The full error message
from Ruby is: 'cannot load such file -- jekyll-paginate' If you run
into trouble, you can find helpful resources at
http://jekyllrb.com/help/!
jekyll 3.1.3 | Error: jekyll-paginate
However when I do, gem list, it shows me jekyll-paginate (1.1.0) along with all the other gems that are installed.
How to solve this issue?
I was able to solve it using gem cleanup followed by bundle exec jekyll serve.
If gem cleanup and bundle exec jekyll servedoesn't work.
Then try bundle add webrick. After that you can try bundle exec jekyll serve.
And it should work.

what's causing jekyll to throw a "undefined method `require_from_bundler'" error on any command?

I'm working on a jekyll site on Ubuntu 15.04 and when i try jekyll serve (or any other jekyll command, with or without sudo) i receive the following:
/var/lib/gems/2.1.0/gems/jekyll-3.1.2/bin/jekyll:9:in `<top (required)>': undefined method `require_from_bundler' for Jekyll::PluginManager:Class (NoMethodError)
from /usr/local/bin/jekyll:23:in `load'
from /usr/local/bin/jekyll:23:in `<main>'
I have worked on jekyll sites on this computer recently without this issue, and I'm not certain how the configuration changed to generate this error. I've tried gem uninstall jekyll and reinstalling it, same issue happens. I'm not a Ruby dev and I'm a bit at a loss for how to troubleshoot this.
Well, I suggest you to run Jekyll with Bundler, which is an awesome dependency manager. It will make sure you have all the gems you need.
1st. Uninstall Jekyll 2.2.0. This version is too old and requires Python to run some dependencies. Jekyll 3.x does not require Python anymore.
So, run sudo gem uninstall jekyll --version 2.2.0. (or gem uninstall jekyll -v 2.2.0)
2nd. Now, install Bundler:
gem install bundler (or sudo gem install bundler)
3rd. Add a Gemfile (don't give it any extension) to your site root with the following content:
source "https://rubygems.org"
gem 'jekyll', '3.1.2'
This will make sure you will have installed Jekyll 3.1.2 and all its dependencies.
If you will deploy your site to GitHub, the Gemfile must be different:
source "https://rubygems.org"
gem 'github-pages'
This will include the Jekyll version running at GitHub pages at the time.
4th. Using the terminal, cd path/to/path to your site root and run bundle install there. Bundler will install all the dependencies for you and create a new file called Gemfile.lock, which will have a list of all dependencies installed for that project.
5th. Run bundle exec jekyll serve
Done!
NOTE 1: I recommend you to use Jekyll 3.0.3, as I think it's better then 3.1.2 (it seems there are some bugs on 3.1.2 which don't have in 3.0.3). Anyway, opinion based tip - it's up to you.
NOTE 2: If you don't have openssl installed to your computer, replace the protocol in your Gemfile:
source "https://rubygems.org"
replace for
source "http://rubygems.org"
For reference:
Jekyll 2x-to-3x
Jekyll on GitHub
That's it! Hope to have helped!

Error running Jekyll on OS X Yosemite 10.10.5

I have a problem running Jekyll on OS X Yosemite 10.10.5. When I run jekyll serve, I get the following error:
MacBook-Pro-Svetlana:iloveip svetlana$ jekyll serve
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/dependency.rb:296:in `to_specs': Could not find 'jekyll' (>= 0) among 22 total gem(s) (Gem::LoadError)
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/dependency.rb:307:in `to_spec'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_gem.rb:47:in `gem'
from /usr/bin/jekyll:22:in `<main>'
MacBook-Pro-Svetlana:iloveip svetlana$
I had to reinstall OS X Yosemite. And I might have done something wrong. First, I installed Xcode Command Line Tools without actually installing Xcode. Then I followed instructions on this site to install Ruby and Git. After that I installed Jekyll but it wasn't running with jekyll serve. So I installed Xcode, but still got some errors.
So I upgraded RVM, and also upgraded Ruby to 2.2.3. After that I uninstalled and installed Jekyll once again. But when I try to run it I get the error above.
What can I do to fix it?
Hmmm. New problem seems that you have a problem with gem sources.
Re-generating sources can help.
$ gem sources --remove https://rubygems.org/
$ gem sources -a http://rubygems.org/
$ gem install jekyll
And now, install Jekyll again.

Bundler could not find gem in any of the sources

I was trying to run Middleman and am getting the following error:
$ middleman
WARN: Unresolved specs during Gem::Specification.reset:
thor (< 2.0, >= 0.15.2)
multi_json (~> 1.0)
rb-inotify (>= 0.9)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
Could not find i18n-0.6.1 in any of the sources
Run `bundle install` to install missing gems
So I ran bundle install and here's the relevant part of the output:
$ bundle install
Using i18n (0.6.1)
...
Your bundle is complete!
Gems in the groups development and test were not installed.
It was installed into ./vendor/bundle
$ middleman
...
Could not find i18n-0.6.1 in any of the sources
Run `bundle install` to install missing gems.
$ bundle show
Gems included by the bundle:
...
* i18n (0.6.1)
...
$ bundle show i18n
/Users/jh/Documents/Workspace/mywebsite-middleman/vendor/bundle/ruby/1.8/gems/i18n-0.6.1
Does anybody know what's going on here? I keep running bundle install and bundle install --deployment like the message says and it refuses to work.
It sounds like you have added the middleman gem to a Gemfile and have installed using bundle install.
If that is the case you should run middleman as bundle exec middleman. This will ensure that all the other gems which have been installed as part of bundle install will be available to middleman.

Resources