group :jekyll_plugins do
gem "jekyll-paginate-v2"
end
I deploy on Digital Ocean using a script that automatically builds and moves files into my public www folder. When the script gets to jekyll build --source $TMP_GIT_CLONE --destination $PUBLIC_WWW I get an error:
Dependency Error: Yikes! It looks like you don't have jekyll-paginate-v2 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-v2'
When I run bundle update remotely I get:
Using public_suffix 3.0.1
Using addressable 2.5.2
Using backports 3.11.0
Using bundler 1.16.1
Using colorator 1.1.0
Using diff-lcs 1.3
Using ffi 1.9.18
Using forwardable-extended 2.6.0
Using rb-fsevent 0.10.2
Using rb-inotify 0.9.10
Using sass-listen 4.0.0
Using sass 3.5.4
Using jekyll-sass-converter 1.5.1
Using ruby_dep 1.5.0
Using listen 3.1.5
Using jekyll-watch 1.5.1
Using kramdown 1.16.2
Using liquid 4.0.0
Using mercenary 0.3.6
Using pathutil 0.16.1
Using rouge 2.2.1
Using safe_yaml 1.0.4
Using jekyll 3.6.2
Using rack 1.6.8
Using rack-protection 1.5.3
Using tilt 2.0.8
Using sinatra 1.4.8
Using multi_json 1.12.2
Using rack-test 0.8.2
Using sinatra-contrib 1.4.7
Using jekyll-admin 0.7.0
Using jekyll-paginate-v2 1.9.0
Using mini_portile2 2.3.0
Using nokogiri 1.8.1
Using rspec-support 3.7.0
Using rspec-core 3.7.0
Using rspec-expectations 3.7.0
Using rspec-mocks 3.7.0
Using rspec 3.7.0
are you just doing jekyll build or bundle exec jekyll build? bundle exec is what installs the dependicies unless you are doing that some other way. At least that is my understanding - I am not using any plugins.
When I try to run bundle install I get an error: public_suffix-3.0.1 requires ruby version >= 2.1, which is incompatible with the current version, ruby 2.0.0p648
I just tried using jekyll-paginate and got the same result when I deployed:
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 https://jekyllrb.com/help/!
bundler is supposed to install the dependencies from your gemfile. you could also just try manually installing them - gem install jekyll-paginate-v2 maybe that would bypass whatever problem bundler is having with installing them or show you a different error.
remote: Cloning into '/home/diklein/tmp/git/revamp'...
remote: done.
remote: Fetching gem metadata from https://rubygems.org/..........
remote: public_suffix-3.0.0 requires ruby version >= 2.1, which is incompatible with the
remote: current version, ruby 2.0.0p648
remote: /home/diklein/.rvm/gems/ruby-2.0.0-p648/gems/bundler-1.16.1/lib/bundler/spec_set.rb:88:in `block in materialize': Could not find public_suffix-3.0.0 in any of the sources (Bundler::GemNotFound)
remote: from /home/diklein/.rvm/gems/ruby-2.0.0-p648/gems/bundler-1.16.1/lib/bundler/spec_set.rb:82:in `map!'
remote: from /home/diklein/.rvm/gems/ruby-2.0.0-p648/gems/bundler-1.16.1/lib/bundler/spec_set.rb:82:in `materialize'
remote: from /home/diklein/.rvm/gems/ruby-2.0.0-p648/gems/bundler-1.16.1/lib/bundler/definition.rb:170:in `specs'
remote: from /home/diklein/.rvm/gems/ruby-2.0.0-p648/gems/bundler-1.16.1/lib/bundler/definition.rb:237:in `specs_for'
remote: from /home/diklein/.rvm/gems/ruby-2.0.0-p648/gems/bundler-1.16.1/lib/bundler/definition.rb:226:in `requested_specs'
remote: from /home/diklein/.rvm/gems/ruby-2.0.0-p648/gems/bundler-1.16.1/lib/bundler/runtime.rb:108:in `block in definition_method'
remote: from /home/diklein/.rvm/gems/ruby-2.0.0-p648/gems/bundler-1.16.1/lib/bundler/runtime.rb:20:in `setup'
remote: from /home/diklein/.rvm/gems/ruby-2.0.0-p648/gems/bundler-1.16.1/lib/bundler.rb:107:in `setup'
remote: from /home/diklein/.rvm/gems/ruby-2.0.0-p648/gems/bundler-1.16.1/lib/bundler/setup.rb:20:in `<top (required)>'
remote: from /home/diklein/.rvm/rubies/ruby-2.0.0-p648/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:54:in `require'
remote: from /home/diklein/.rvm/rubies/ruby-2.0.0-p648/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:54:in `require'
Looks like my version or Ruby is old? But when I run ruby -v I get:
A new state! There’s a lot of stuff here. I’m not sure where to begin. Fix ffi?
remote: Ignoring executable-hooks-1.3.2 because its extensions are not built. Try: gem pristine executable-hooks --version 1.3.2
remote: Ignoring gem-wrappers-1.3.2 because its extensions are not built. Try: gem pristine gem-wrappers --version 1.3.2
remote: Warning: the running version of Bundler is older than the version that created the lockfile. We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.
remote: Fetching gem metadata from https://rubygems.org/...........
remote: Fetching version metadata from https://rubygems.org/...
remote: Fetching dependency metadata from https://rubygems.org/..
remote: Installing public_suffix 3.0.0
remote: Installing backports 3.10.3
remote: Installing colorator 1.1.0
remote: Installing diff-lcs 1.3
remote: Installing ffi 1.9.18 with native extensions
remote:
remote: Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
remote:
remote: current directory: /home/diklein/.rvm/gems/ruby-2.4.2/gems/ffi-1.9.18/ext/ffi_c
remote: /usr/bin/ruby2.3 -r ./siteconf20180103-3870-rt2cmc.rb extconf.rb
remote: mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h
remote:
remote: extconf failed, exit code 1
remote:
remote: Gem files will remain installed in /home/diklein/.rvm/gems/ruby-2.4.2/gems/ffi-1.9.18 for inspection.
remote: Results logged to /home/diklein/.rvm/gems/ruby-2.4.2/extensions/x86_64-linux/2.3.0/ffi-1.9.18/gem_make.out
remote: Installing forwardable-extended 2.6.0
remote: Installing rb-fsevent 0.10.2
remote: Installing kramdown 1.15.0
remote: Installing liquid 4.0.0
remote: Installing mercenary 0.3.6
remote: Installing rouge 2.2.1
remote: Installing safe_yaml 1.0.4
remote: Installing rack 1.6.8
remote: Installing tilt 2.0.8
remote: Installing multi_json 1.12.2
remote: Installing jekyll-paginate 1.1.0
remote: Installing mini_portile2 2.3.0
remote: Installing rspec-support 3.7.0
remote: Using bundler 1.11.2
remote: Installing addressable 2.5.2
remote: An error occurred while installing ffi (1.9.18), and Bundler cannot continue.
remote: Make sure that `gem install ffi -v '1.9.18'` succeeds before bundling.
remote: /usr/lib/ruby/vendor_ruby/bundler/spec_set.rb:94:in `block in materialize': Could not find ffi-1.9.18 in any of the sources (Bundler::GemNotFound)
remote: from /usr/lib/ruby/vendor_ruby/bundler/spec_set.rb:87:in `map!'
remote: from /usr/lib/ruby/vendor_ruby/bundler/spec_set.rb:87:in `materialize'
remote: from /usr/lib/ruby/vendor_ruby/bundler/definition.rb:137:in `specs'
remote: from /usr/lib/ruby/vendor_ruby/bundler/definition.rb:182:in `specs_for'
remote: from /usr/lib/ruby/vendor_ruby/bundler/definition.rb:171:in `requested_specs'
remote: from /usr/lib/ruby/vendor_ruby/bundler/environment.rb:18:in `requested_specs'
remote: from /usr/lib/ruby/vendor_ruby/bundler/runtime.rb:13:in `setup'
remote: from /usr/lib/ruby/vendor_ruby/bundler.rb:92:in `setup'
remote: from /usr/lib/ruby/vendor_ruby/bundler/setup.rb:18:in `<top (required)>'
remote: from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
remote: from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'