Dockfile image build failing due to bundler issues and GemNotFoundException - ruby

The docker image "web" seems to fail as the image is built with the following error code:
web_1 | Traceback (most recent call last):
web_1 | 2: from /usr/local/bin/bundle:23:in `<main>'
web_1 | 1: from /usr/local/lib/ruby/2.6.0/rubygems.rb:302:in `activate_bin_path'
web_1 | /usr/local/lib/ruby/2.6.0/rubygems.rb:283:in `find_spec_for_exe': Could not find 'bundler' (2.2.24) required by your /prospector/Gemfile.lock. (Gem::GemNotFoundException)
web_1 | To update to the latest version installed on your system, run `bundle update --bundler`.
web_1 | To install the missing version, run `gem install bundler:2.2.24`
prospector_web_1 exited with code 1
Docker complains that it can't find the correct version of bundler, but you can see from the output below that I clearly do have the correct versions of bundler installed:
masonmings#macbook-pro-10 prospector % rvm --version
rvm 1.29.12-next (master) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
masonmings#macbook-pro-10 prospector % ruby --version
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin20]
masonmings#macbook-pro-10 prospector % docker --version
Docker version 20.10.7, build f0df350
masonmings#macbook-pro-10 prospector % bundle --version
Bundler version 2.2.24
masonmings#macbook-pro-10 prospector % which ruby
/Users/masonmings/.rvm/rubies/ruby-2.6.5/bin/ruby
masonmings#macbook-pro-10 prospector % which bundle
/Users/masonmings/.rvm/gems/ruby-2.6.5/bin/bundle
masonmings#macbook-pro-10 prospector % bundler --version
Bundler version 2.2.24
masonmings#macbook-pro-10 prospector % which bundler
/Users/masonmings/.rvm/gems/ruby-2.6.5/bin/bundler
I've run the error message's suggested commands, but they don't help either. I've tried following the instructions on [this page][1], [this page][2], [this page][3], and several others but can't seem to find this issue solved online. I've also uninstalled, removed, and rebundled everything. Any help at all would be appreciated. Thanks!
Here's some more context:
The docker-compose.yml file for this image is as follows:
web:
build:
context: ./
dockerfile: ./docker/Dockerfile-web
env_file:
- .env
command: bundle exec rails s -p 3000 -b '0.0.0.0'
# command: tail -f /dev/null # Keeps container running
volumes:
- ./:/prospector
- ./tmp/bundle:/bundle # Gem cache
ports:
- 3000:3000 # Server
depends_on:
- postgres
- redis
links:
- postgres
- redis
- selenium
restart: always
stdin_open: true # Allows attaching for byebug
tty: true # Allows attaching for byebug
Dockerfile-web looks like this:
###
# Dockerfile for web service, which is effectively our Rails app
#
# Based on: https://docs.docker.com/compose/rails/#define-the-project
# Use Ruby 2.6.5 Image
FROM ruby:2.6.5
# Install essentials
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev
# Install NodeJS
# https://github.com/nodesource/distributions#installation-instructions
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - && apt-get install -y nodejs
# Copy contents into
RUN mkdir /prospector
WORKDIR /prospector
COPY ./ /app
# Set entrypoint script, required for caching gems (so not to have redownload & rebuild every build)
# See https://medium.com/#cristian_rivera/cache-rails-bundle-w-docker-compose-45512d952c2d
COPY ./docker/docker-entrypoint-web.sh /
RUN chmod +x /docker-entrypoint-web.sh
ENTRYPOINT ["/docker-entrypoint-web.sh"]
# Set env variables for caching gems
ENV BUNDLE_PATH=/bundle
ENV BUNDLE_BIN=/bundle/bin
ENV GEM_HOME=/bundle
ENV PATH="${BUNDLE_BIN}:${PATH}"
.zshrc looks like this:
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"
export Path="$PATH:$HOME/.rvm"
.bashrc looks like this:
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"
export PATH="$PATH:$HOME/.rvm"
export BUNDLER_VERSION=$(cat Gemfile.lock | tail -1 | tr -d " ")
The output of bundle env is:
Environment
Bundler 2.2.24
Platforms ruby, x86_64-darwin-20
Ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin20]
Full Path /Users/masonmings/.rvm/rubies/ruby-2.6.5/bin/ruby
Config Dir /Users/masonmings/.rvm/rubies/ruby-2.6.5/etc
RubyGems 3.2.24
Gem Home /Users/masonmings/.rvm/gems/ruby-2.6.5
Gem Path /Users/masonmings/.rvm/gems/ruby-2.6.5:/Users/masonmings/.rvm/rubies/ruby-2.6.5/lib/ruby/gems/2.6.0
User Home /Users/masonmings
User Path /Users/masonmings/.gem/ruby/2.6.0
Bin Dir /Users/masonmings/.rvm/gems/ruby-2.6.5/bin
Tools
Git 2.30.1 (Apple Git-130)
RVM 1.29.12-next (master)
rbenv not installed
chruby not installed
rubygems-bundler (1.4.5)
Bundler Build Metadata
Built At 2021-07-15
Git SHA d78b1ee235
Released Version true
Bundler settings
cache_all
Set for your local app (/Users/masonmings/Camber Code/prospector/.bundle/config): true
Gemfile
Gemfile
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
ruby '2.6.5'
# Application
gem 'rails', '~> 5.2.3' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'pg', '>= 0.18', '< 2.0' # Use postgresql as the database for Active Record
gem 'puma', '~> 3.11' # Use Puma as the app server
gem 'sass-rails', '~> 5.0' # Use SCSS for stylesheets
gem 'uglifier', '>= 1.3.0' # Use Uglifier as compressor for JavaScript assets
gem 'turbolinks', '~> 5' # Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
gem 'jbuilder', '~> 2.5' # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
# gem 'redis', '~> 4.0' # Use Redis adapter to run Action Cable in production
gem 'bootsnap', '>= 1.1.0', require: false # Reduces boot times through caching; required in config/boot.rb
gem 'sidekiq', '~> 5.2', '>= 5.2.7' # Simple, efficient background processing for Ruby.
# Data
gem 'enumerize', '~> 2.3', '>= 2.3.1' # Enums / Enumerated attributes with I18n
gem 'rails-settings-cached', '~> 2.0', '>= 2.0.3' # Settings plugin for Rails that makes managing a table of global key, value pairs easy
gem 'chronic', '~> 0.10.2' # Natural language date/time parser
gem 'kaminari', '~> 1.1', '>= 1.1.1' # Cclean, powerful, agnostic, customizable and sophisticated paginator
# UI
gem 'bootstrap', '~> 4.3', '>= 4.3.1' # Bootstrap, as we all know too well
gem 'jquery-rails', '~> 4.3', '>= 4.3.3' # JQuery for Rails
gem 'rouge', '~> 3.7' # Code highlighter
# Authentication
gem 'omniauth', '~> 1.9' # OmniAuth is a flexible authentication system utilizing Rack middleware
gem 'omniauth-google-oauth2' # A Google OAuth2 strategy for OmniAuth 1.x. This allows you to login to Google
# Services
gem 'google-cloud-bigquery' # Google Big Query
gem 'sentry-raven' # Sentry exception monitoring service
gem 'pipedrive.rb', github: 'amoniacou/pipedrive.rb', ref: '1000a6f' # Pipedrive.com API Wrapper
# Utility
gem 'dotenv-rails' # Load environment variables from `.env`
gem 'httparty', '~> 0.17.0' # Makes http fun again!
gem 'annotate', '~> 2.7', '>= 2.7.5' # Annotates Rails/ActiveRecord Models
gem 'net-ssh', '~> 5.2' # Pure Ruby implementation of the SSH2 client protocol
gem 'highline', '~> 2.0', '>= 2.0.2' # A high level command-line oriented interface
# Scraping
gem 'watir', '~> 6.16', '>= 6.16.5' # Interact with browsers the same way people do!
gem 'watir-webdriver-performance' # Collects and summarises metrics for Watir
gem 'capybara', '>= 2.15' # Acceptance test framework for web applications
gem 'selenium-webdriver' # A browser automation framework and ecosystem
gem 'webdrivers', '~> 4.0' # Keep your Selenium WebDrivers updated automatically
# Development & Test
group :development, :test do
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] # Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'pry'
end
# Development
group :development do
gem 'capistrano', '~> 3.11', require: false # Utility and framework for executing commands in parallel via SSH (read: deploying)
gem 'capistrano-decompose', github: 'Whelton/capistrano-decompose', ref: '030b9c5' # Capistrano plugin to deploy your application inside docker containers with docker compose
gem 'web-console', '>= 3.3.0' # Access an interactive console on exception pages or by calling 'console' anywhere in the code.
gem 'listen', '>= 3.0.5', '< 3.2' # Listens to file modifications and notifies you about the changes
gem 'spring' # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'spring-watcher-listen', '~> 2.0.0' # Spring x Listen
end
Gemfile.lock
GIT
remote: https://github.com/Whelton/capistrano-decompose.git
revision: 030b9c5b96ef03d411aa1a9de661e4ef2041bff1
ref: 030b9c5
specs:
capistrano-decompose (0.2.0)
capistrano (~> 3.5)
GIT
remote: https://github.com/amoniacou/pipedrive.rb.git
revision: 1000a6f930a55ad81d96f876478c6fc3bf38a28a
ref: 1000a6f
specs:
pipedrive.rb (0.1.0)
activesupport (>= 4.0.0)
faraday
faraday_middleware
hashie (>= 3.0)
GEM
remote: https://rubygems.org/
specs:
actioncable (5.2.6)
actionpack (= 5.2.6)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
actionmailer (5.2.6)
actionpack (= 5.2.6)
actionview (= 5.2.6)
activejob (= 5.2.6)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0)
actionpack (5.2.6)
actionview (= 5.2.6)
activesupport (= 5.2.6)
rack (~> 2.0, >= 2.0.8)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
actionview (5.2.6)
activesupport (= 5.2.6)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.3)
activejob (5.2.6)
activesupport (= 5.2.6)
globalid (>= 0.3.6)
activemodel (5.2.6)
activesupport (= 5.2.6)
activerecord (5.2.6)
activemodel (= 5.2.6)
activesupport (= 5.2.6)
arel (>= 9.0)
activestorage (5.2.6)
actionpack (= 5.2.6)
activerecord (= 5.2.6)
marcel (~> 1.0.0)
activesupport (5.2.6)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
tzinfo (~> 1.1)
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
airbrussh (1.4.0)
sshkit (>= 1.6.1, != 1.7.0)
annotate (2.7.5)
activerecord (>= 3.2, < 7.0)
rake (>= 10.4, < 13.0)
arel (9.0.0)
autoprefixer-rails (10.2.5.1)
execjs (> 0)
bindex (0.8.1)
bootsnap (1.7.5)
msgpack (~> 1.0)
bootstrap (4.6.0)
autoprefixer-rails (>= 9.1.0)
popper_js (>= 1.14.3, < 2)
sassc-rails (>= 2.0.0)
builder (3.2.4)
byebug (11.1.3)
capistrano (3.16.0)
airbrussh (>= 1.0.0)
i18n
rake (>= 10.0.0)
sshkit (>= 1.9.0)
capybara (3.35.3)
addressable
mini_mime (>= 0.1.3)
nokogiri (~> 1.8)
rack (>= 1.6.0)
rack-test (>= 0.6.3)
regexp_parser (>= 1.5, < 3.0)
xpath (~> 3.2)
childprocess (3.0.0)
chronic (0.10.2)
coderay (1.1.3)
concurrent-ruby (1.1.9)
connection_pool (2.2.5)
crass (1.0.6)
declarative (0.0.20)
dotenv (2.7.6)
dotenv-rails (2.7.6)
dotenv (= 2.7.6)
railties (>= 3.2)
enumerize (2.4.0)
activesupport (>= 3.2)
erubi (1.10.0)
execjs (2.8.1)
faraday (1.5.1)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
faraday-httpclient (~> 1.0.1)
faraday-net_http (~> 1.0)
faraday-net_http_persistent (~> 1.1)
faraday-patron (~> 1.0)
multipart-post (>= 1.2, < 3)
ruby2_keywords (>= 0.0.4)
faraday-em_http (1.0.0)
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-httpclient (1.0.1)
faraday-net_http (1.0.1)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
faraday_middleware (1.0.0)
faraday (~> 1.0)
ffi (1.15.3)
globalid (0.4.2)
activesupport (>= 4.2.0)
google-apis-bigquery_v2 (0.15.0)
google-apis-core (>= 0.4, < 2.a)
google-apis-core (0.4.1)
addressable (~> 2.5, >= 2.5.1)
googleauth (>= 0.16.2, < 2.a)
httpclient (>= 2.8.1, < 3.a)
mini_mime (~> 1.0)
representable (~> 3.0)
retriable (>= 2.0, < 4.a)
rexml
webrick
google-cloud-bigquery (1.34.0)
concurrent-ruby (~> 1.0)
google-apis-bigquery_v2 (~> 0.1)
google-cloud-core (~> 1.6)
googleauth (>= 0.16.2, < 2.a)
mini_mime (~> 1.0)
google-cloud-core (1.6.0)
google-cloud-env (~> 1.0)
google-cloud-errors (~> 1.0)
google-cloud-env (1.5.0)
faraday (>= 0.17.3, < 2.0)
google-cloud-errors (1.1.0)
googleauth (0.16.2)
faraday (>= 0.17.3, < 2.0)
jwt (>= 1.4, < 3.0)
memoist (~> 0.16)
multi_json (~> 1.11)
os (>= 0.9, < 2.0)
signet (~> 0.14)
hashie (4.1.0)
highline (2.0.3)
httparty (0.17.3)
mime-types (~> 3.0)
multi_xml (>= 0.5.2)
httpclient (2.8.3)
i18n (1.8.10)
concurrent-ruby (~> 1.0)
jbuilder (2.11.2)
activesupport (>= 5.0.0)
jquery-rails (4.4.0)
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
thor (>= 0.14, < 2.0)
jwt (2.2.3)
kaminari (1.2.1)
activesupport (>= 4.1.0)
kaminari-actionview (= 1.2.1)
kaminari-activerecord (= 1.2.1)
kaminari-core (= 1.2.1)
kaminari-actionview (1.2.1)
actionview
kaminari-core (= 1.2.1)
kaminari-activerecord (1.2.1)
activerecord
kaminari-core (= 1.2.1)
kaminari-core (1.2.1)
listen (3.1.5)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
ruby_dep (~> 1.2)
loofah (2.10.0)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
mail (2.7.1)
mini_mime (>= 0.1.1)
marcel (1.0.1)
memoist (0.16.2)
method_source (1.0.0)
mime-types (3.3.1)
mime-types-data (~> 3.2015)
mime-types-data (3.2021.0704)
mini_mime (1.1.0)
mini_portile2 (2.5.3)
minitest (5.14.4)
msgpack (1.4.2)
multi_json (1.15.0)
multi_xml (0.6.0)
multipart-post (2.1.1)
net-scp (3.0.0)
net-ssh (>= 2.6.5, < 7.0.0)
net-ssh (5.2.0)
nio4r (2.5.7)
nokogiri (1.11.7)
mini_portile2 (~> 2.5.0)
racc (~> 1.4)
oauth2 (1.4.7)
faraday (>= 0.8, < 2.0)
jwt (>= 1.0, < 3.0)
multi_json (~> 1.3)
multi_xml (~> 0.5)
rack (>= 1.2, < 3)
omniauth (1.9.1)
hashie (>= 3.4.6)
rack (>= 1.6.2, < 3)
omniauth-google-oauth2 (0.8.2)
jwt (>= 2.0)
oauth2 (~> 1.1)
omniauth (~> 1.1)
omniauth-oauth2 (>= 1.6)
omniauth-oauth2 (1.7.1)
oauth2 (~> 1.4)
omniauth (>= 1.9, < 3)
os (1.1.1)
pg (1.2.3)
popper_js (1.16.0)
pry (0.14.1)
coderay (~> 1.1)
method_source (~> 1.0)
public_suffix (4.0.6)
puma (3.12.6)
racc (1.5.2)
rack (2.2.3)
rack-protection (2.1.0)
rack
rack-test (1.1.0)
rack (>= 1.0, < 3)
rails (5.2.6)
actioncable (= 5.2.6)
actionmailer (= 5.2.6)
actionpack (= 5.2.6)
actionview (= 5.2.6)
activejob (= 5.2.6)
activemodel (= 5.2.6)
activerecord (= 5.2.6)
activestorage (= 5.2.6)
activesupport (= 5.2.6)
bundler (>= 1.3.0)
railties (= 5.2.6)
sprockets-rails (>= 2.0.0)
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
nokogiri (>= 1.6)
rails-html-sanitizer (1.3.0)
loofah (~> 2.3)
rails-settings-cached (2.7.1)
rails (>= 5.0.0)
railties (5.2.6)
actionpack (= 5.2.6)
activesupport (= 5.2.6)
method_source
rake (>= 0.8.7)
thor (>= 0.19.0, < 2.0)
rake (12.3.3)
rb-fsevent (0.11.0)
rb-inotify (0.10.1)
ffi (~> 1.0)
redis (4.1.4)
regexp_parser (2.1.1)
representable (3.1.1)
declarative (< 0.1.0)
trailblazer-option (>= 0.1.1, < 0.2.0)
uber (< 0.2.0)
retriable (3.1.2)
rexml (3.2.5)
rouge (3.26.0)
ruby2_keywords (0.0.5)
ruby_dep (1.5.0)
rubyzip (2.3.2)
sass (3.7.4)
sass-listen (~> 4.0.0)
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
sass-rails (5.1.0)
railties (>= 5.2.0)
sass (~> 3.1)
sprockets (>= 2.8, < 4.0)
sprockets-rails (>= 2.0, < 4.0)
tilt (>= 1.1, < 3)
sassc (2.4.0)
ffi (~> 1.9)
sassc-rails (2.1.2)
railties (>= 4.0.0)
sassc (>= 2.0)
sprockets (> 3.0)
sprockets-rails
tilt
selenium-webdriver (3.142.7)
childprocess (>= 0.5, < 4.0)
rubyzip (>= 1.2.2)
sentry-raven (3.1.2)
faraday (>= 1.0)
sidekiq (5.2.9)
connection_pool (~> 2.2, >= 2.2.2)
rack (~> 2.0)
rack-protection (>= 1.5.0)
redis (>= 3.3.5, < 4.2)
signet (0.15.0)
addressable (~> 2.3)
faraday (>= 0.17.3, < 2.0)
jwt (>= 1.5, < 3.0)
multi_json (~> 1.10)
spring (2.1.1)
spring-watcher-listen (2.0.1)
listen (>= 2.7, < 4.0)
spring (>= 1.2, < 3.0)
sprockets (3.7.2)
concurrent-ruby (~> 1.0)
rack (> 1, < 3)
sprockets-rails (3.2.2)
actionpack (>= 4.0)
activesupport (>= 4.0)
sprockets (>= 3.0.0)
sshkit (1.21.2)
net-scp (>= 1.1.2)
net-ssh (>= 2.8.0)
thor (1.1.0)
thread_safe (0.3.6)
tilt (2.0.10)
trailblazer-option (0.1.1)
turbolinks (5.2.1)
turbolinks-source (~> 5.2)
turbolinks-source (5.2.0)
tzinfo (1.2.9)
thread_safe (~> 0.1)
uber (0.1.0)
uglifier (4.2.0)
execjs (>= 0.3.0, < 3)
watir (6.19.1)
regexp_parser (>= 1.2, < 3)
selenium-webdriver (>= 3.142.7)
watir-webdriver (0.9.9)
selenium-webdriver (>= 2.46.2)
watir-webdriver-performance (0.2.4)
watir-webdriver
web-console (3.7.0)
actionview (>= 5.0)
activemodel (>= 5.0)
bindex (>= 0.4.0)
railties (>= 5.0)
webdrivers (4.6.0)
nokogiri (~> 1.6)
rubyzip (>= 1.3.0)
selenium-webdriver (>= 3.0, < 4.0)
webrick (1.7.0)
websocket-driver (0.7.5)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
xpath (3.2.0)
nokogiri (~> 1.8)
PLATFORMS
ruby
DEPENDENCIES
annotate (~> 2.7, >= 2.7.5)
bootsnap (>= 1.1.0)
bootstrap (~> 4.3, >= 4.3.1)
byebug
capistrano (~> 3.11)
capistrano-decompose!
capybara (>= 2.15)
chronic (~> 0.10.2)
dotenv-rails
enumerize (~> 2.3, >= 2.3.1)
google-cloud-bigquery
highline (~> 2.0, >= 2.0.2)
httparty (~> 0.17.0)
jbuilder (~> 2.5)
jquery-rails (~> 4.3, >= 4.3.3)
kaminari (~> 1.1, >= 1.1.1)
listen (>= 3.0.5, < 3.2)
net-ssh (~> 5.2)
omniauth (~> 1.9)
omniauth-google-oauth2
pg (>= 0.18, < 2.0)
pipedrive.rb!
pry
puma (~> 3.11)
rails (~> 5.2.3)
rails-settings-cached (~> 2.0, >= 2.0.3)
rouge (~> 3.7)
sass-rails (~> 5.0)
selenium-webdriver
sentry-raven
sidekiq (~> 5.2, >= 5.2.7)
spring
spring-watcher-listen (~> 2.0.0)
turbolinks (~> 5)
uglifier (>= 1.3.0)
watir (~> 6.16, >= 6.16.5)
watir-webdriver-performance
web-console (>= 3.3.0)
webdrivers (~> 4.0)
RUBY VERSION
ruby 2.6.5p114
BUNDLED WITH
2.2.24
...
[1]: https://bundler.io/doc/troubleshooting.html
[2]: https://bundler.io/blog/2019/05/14/solutions-for-cant-find-gem-bundler-with-executable-bundle.html
[3]: https://github.com/rbenv/rbenv/issues/1138

Related

Heroku Error when pushing Ruby via Github

A friend of mine programmed me a website years ago. Unfortunately from one day to the next the website did not work anymore.
I do not have Ruby on my computer (I never had it before either).
I am currently trying to host the Website again on Heroku via Github (https://github.com/dtricc/zoquant) and I get the following error:
See here
My Gemfile looks as follows:
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
ruby '3.2.0'
gem 'rails', '~> 7.0.3'
gem 'pg', '>= 0.18', '< 2.0'
gem 'puma', '~> 6.0.2'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'webpacker'
gem 'coffee-rails', '~> 4.2'
gem 'turbolinks', '~> 5'
gem 'jbuilder', '~> 2.5'
gem 'bootsnap', '>= 1.1.0', require: false
gem 'autoprefixer-rails'
gem 'font-awesome-sass', '~> 5.6.1'
gem 'simple_form'
group :development, :test do
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
end
group :development do
gem 'web-console', '>= 3.3.0'
gem 'listen', '>= 3.0.5', '< 3.2'
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
end
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
My Gemfile.lock looks as follows:
GEM
remote: https://rubygems.org/
specs:
actioncable (5.2.2)
actionpack (= 5.2.2)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
actionmailbox (7.0.3)
actionpack (= 7.0.3)
activejob (= 7.0.3)
activerecord (= 7.0.3)
activestorage (= 7.0.3)
activesupport (= 7.0.3)
mail (>= 2.7.1)
net-imap (>= 0)
net-pop (>= 0)
net-smtp (>= 0)
actiontext (7.0.3)
actionpack (= 7.0.3)
activerecord (= 7.0.3)
activestorage (= 7.0.3)
activesupport (= 7.0.3)
globalid (>= 0.6.0)
nokogiri (>= 1.8.5)
actionmailer (5.2.2)
actionpack (= 5.2.2)
actionview (= 5.2.2)
activejob (= 5.2.2)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0)
actionpack (7.0.3)
actionview (= 7.0.3)
activesupport (= 7.0.3)
rack (~> 2.0, >= 2.2.0)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0)
actionview (5.2.2)
activesupport (= 5.2.2)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.3)
activejob (5.2.2)
activesupport (= 5.2.2)
globalid (>= 0.3.6)
activemodel (7.0.3)
activesupport (= 7.0.3)
activerecord (7.0.3)
activemodel (= 7.0.3)
activesupport (= 7.0.3)
activestorage (7.0.3)
actionpack (= 7.0.3)
activejob (= 7.0.3)
activerecord (= 7.0.3)
activesupport (= 7.0.3)
marcel (~> 1.0)
mini_mime (>= 1.1.0)
activesupport (7.0.3)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
arel (9.0.0)
autoprefixer-rails (9.4.10.2)
execjs
bindex (0.5.0)
bootsnap (1.4.1)
msgpack (~> 1.0)
builder (3.2.3)
byebug (11.0.0)
coffee-rails (4.2.2)
coffee-script (>= 2.2.0)
railties (>= 4.0.0)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.12.2)
concurrent-ruby (1.1.5)
crass (1.0.4)
erubi (1.8.0)
execjs (2.7.0)
ffi (1.10.0)
font-awesome-sass (5.6.1)
sassc (>= 1.11)
globalid (0.4.2)
activesupport (>= 4.2.0)
i18n (1.6.0)
concurrent-ruby (~> 1.0)
jbuilder (2.8.0)
activesupport (>= 4.2.0)
multi_json (>= 1.2)
listen (3.1.5)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
ruby_dep (~> 1.2)
loofah (2.2.3)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
mail (2.7.1)
mini_mime (>= 0.1.1)
marcel (1.0.2)
mimemagic (>= 0.3.2)
method_source (0.9.2)
mimemagic (0.4.2)
nokogiri (~> 1)
rake (>= 0)
mini_mime (1.0.1)
mini_portile2 (2.4.0)
minitest (5.11.3)
msgpack (1.2.9)
multi_json (1.13.1)
nio4r (2.3.1)
nokogiri (1.10.1)
mini_portile2 (~> 2.4.0)
pg (1.1.4)
puma (3.12.0)
rack (2.0.6)
rack-proxy (0.6.5)
rack
rack-test (1.1.0)
rack (>= 1.0, < 3)
rails (7.0.3)
actioncable (= 7.0.3)
actionmailbox (= 7.0.3)
actionmailer (= 7.0.3)
actionpack (= 7.0.3)
actiontext (= 7.0.3)
actionview (= 7.0.3)
activejob (= 7.0.3)
activemodel (= 7.0.3)
activerecord (= 7.0.3)
activestorage (= 7.0.3)
activesupport (= 7.0.3)
bundler (>= 1.15.0)
railties (= 7.0.3)
sprockets-rails (>= 2.0.0)
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
nokogiri (>= 1.6)
rails-html-sanitizer (1.0.4)
loofah (~> 2.2, >= 2.2.2)
railties (5.2.2)
actionpack (= 5.2.2)
activesupport (= 5.2.2)
method_source
rake (>= 0.8.7)
thor (>= 0.19.0, < 2.0)
rake (12.3.2)
rb-fsevent (0.10.3)
rb-inotify (0.10.0)
ffi (~> 1.0)
ruby_dep (1.5.0)
sass (3.7.3)
sass-listen (~> 4.0.0)
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
sass-rails (5.0.7)
railties (>= 4.0.0, < 6)
sass (~> 3.1)
sprockets (>= 2.8, < 4.0)
sprockets-rails (>= 2.0, < 4.0)
tilt (>= 1.1, < 3)
sassc (2.2.1)
ffi (~> 1.9)
rake
simple_form (4.1.0)
actionpack (>= 5.0)
activemodel (>= 5.0)
spring (2.0.2)
activesupport (>= 4.2)
spring-watcher-listen (2.0.1)
listen (>= 2.7, < 4.0)
spring (>= 1.2, < 3.0)
sprockets (3.7.2)
concurrent-ruby (~> 1.0)
rack (> 1, < 3)
sprockets-rails (3.2.1)
actionpack (>= 4.0)
activesupport (>= 4.0)
sprockets (>= 3.0.0)
thor (0.20.3)
thread_safe (0.3.6)
tilt (2.0.9)
turbolinks (5.2.0)
turbolinks-source (~> 5.2)
turbolinks-source (5.2.0)
tzinfo (1.2.5)
thread_safe (~> 0.1)
uglifier (4.1.20)
execjs (>= 0.3.0, < 3)
web-console (3.7.0)
actionview (>= 5.0)
activemodel (>= 5.0)
bindex (>= 0.4.0)
railties (>= 5.0)
webpacker (4.0.2)
activesupport (>= 4.2)
rack-proxy (>= 0.6.1)
railties (>= 4.2)
websocket-driver (0.7.0)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.3)
PLATFORMS
ruby
x86_64-linux
DEPENDENCIES
autoprefixer-rails
bootsnap (>= 1.1.0)
byebug
coffee-rails (~> 4.2)
font-awesome-sass (~> 5.6.1)
jbuilder (~> 2.5)
listen (>= 3.0.5, < 3.2)
pg (>= 0.18, < 2.0)
puma (~> 3.11)
rails (~> 5.2.2)
sass-rails (~> 5.0)
simple_form
spring
spring-watcher-listen (~> 2.0.0)
turbolinks (~> 5)
tzinfo-data
uglifier (>= 1.3.0)
web-console (>= 3.3.0)
webpacker
RUBY VERSION
ruby (~> 3.2.0)
I would appreciate any help!
Best Lorenzo
I already changed the versions of some of the packages (I obtained the error that the packages are to old and not supported by Heroku.
Looking into your commit history in your GitHub account, it feels like you tried to update the Ruby from 2.5.3 to 3.2.0 and the Ruby on Rails version from 5.2.2 to 7.0.3 in your project without doing any code changes.
Ruby 3.0 introduced some syntax changes. And upgrading two major versions of Ruby on Rails without having to change anything in the application, is usually not possible.
I advise reverting those changes and to restart the upgrade. But this time, only update in small incremental steps, following the suggestions from the official Rails Guides about upgrading.
Additionally, each Rails version supports or has preferred Ruby versions to run with. I suggest following the update path for Ruby and Ruby on Rails from this answer.

Bundler Error - Cannot Find rake-13.0.1 even though it is installed

I have a Rails import job that run as a cron job setup through the whenever gem. It was running correctly until I recently updated the app. Now we are seeing the following Error in the logs when the cron job tries to run. If I run the task manually it runs the import correctly.
/usr/local/lib/ruby/2.6.0/bundler/spec_set.rb:91:in `block in materialize': Could not find rake-13.0.1 in any of the sources (Bundler::GemNotFound)
from /usr/local/lib/ruby/2.6.0/bundler/spec_set.rb:85:in `map!'
from /usr/local/lib/ruby/2.6.0/bundler/spec_set.rb:85:in `materialize'
from /usr/local/lib/ruby/2.6.0/bundler/definition.rb:170:in `specs'
from /usr/local/lib/ruby/2.6.0/bundler/definition.rb:237:in `specs_for'
from /usr/local/lib/ruby/2.6.0/bundler/definition.rb:226:in `requested_specs'
from /usr/local/lib/ruby/2.6.0/bundler/runtime.rb:108:in `block in definition_method'
from /usr/local/lib/ruby/2.6.0/bundler/runtime.rb:20:in `setup'
from /usr/local/lib/ruby/2.6.0/bundler.rb:107:in `setup'
from /usr/local/lib/ruby/2.6.0/bundler/setup.rb:20:in `<top (required)>'
from /usr/local/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `require'
from /usr/local/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `rescue in require'
from /usr/local/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:34:in `require'
from /usr/local/bundle/gems/spring-2.1.0/lib/spring/commands.rb:33:in `<module:Spring>'
from /usr/local/bundle/gems/spring-2.1.0/lib/spring/commands.rb:4:in `<top (required)>'
from /usr/local/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /usr/local/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /usr/local/bundle/gems/spring-2.1.0/lib/spring/server.rb:9:in `<top (required)>'
from /usr/local/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /usr/local/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /usr/local/bundle/gems/spring-2.1.0/lib/spring/client/server.rb:9:in `call'
from /usr/local/bundle/gems/spring-2.1.0/lib/spring/client/command.rb:7:in `call'
from /usr/local/bundle/gems/spring-2.1.0/lib/spring/client.rb:30:in `run'
from /usr/local/bundle/gems/spring-2.1.0/bin/spring:49:in `<main>'
/usr/local/lib/ruby/2.6.0/rubygems/dependency.rb:313:in `to_specs': Could not find 'bundler' () required by `$BUNDLER_VERSION`. (Gem::MissingSpecVersionError)
To update to the latest version installed on your system, run `bundle update --bundler`.
To install the missing version, run `gem install bundler:`
Checked in 'GEM_PATH=/home/sotldirectory', execute `gem env` for more information
from /usr/local/lib/ruby/2.6.0/rubygems/dependency.rb:323:in `to_spec'
from /usr/local/lib/ruby/2.6.0/rubygems/core_ext/kernel_gem.rb:65:in `gem'
from /usr/local/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:42:in `require'
from /usr/local/bundle/gems/spring-2.1.0/lib/spring/commands.rb:33:in `<module:Spring>'
from /usr/local/bundle/gems/spring-2.1.0/lib/spring/commands.rb:4:in `<top (required)>'
from /usr/local/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /usr/local/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /usr/local/bundle/gems/spring-2.1.0/lib/spring/server.rb:9:in `<top (required)>'
from /usr/local/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /usr/local/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /usr/local/bundle/gems/spring-2.1.0/lib/spring/client/server.rb:9:in `call'
from /usr/local/bundle/gems/spring-2.1.0/lib/spring/client/command.rb:7:in `call'
from /usr/local/bundle/gems/spring-2.1.0/lib/spring/client.rb:30:in `run'
from /usr/local/bundle/gems/spring-2.1.0/bin/spring:49:in `<main>'
I am seeing two rake versions inside the docker container
*** LOCAL GEMS ***
rake (13.0.1, 12.3.2)
The output from running bundle env
## Environment
Bundler 1.17.2
Platforms ruby, x86_64-linux
Ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-linux]
Full Path /usr/local/bin/ruby
Config Dir /usr/local/etc
RubyGems 3.0.3
Gem Home /usr/local/bundle
Gem Path /root/.gem/ruby/2.6.0:/usr/local/lib/ruby/gems/2.6.0:/usr/local/bundle
User Path /root/.gem/ruby/2.6.0
Bin Dir /usr/local/bundle/bin
Tools
Git 2.20.1
RVM not installed
rbenv not installed
chruby not installed
Bundler Build Metadata
Built At 2018-12-19
Git SHA 3fc4de72b
Released Version false
Bundler settings
retry
Set for your local app (/usr/local/bundle/config): 3
jobs
Set for your local app (/usr/local/bundle/config): 4
app_config
Set via BUNDLE_APP_CONFIG: "/usr/local/bundle"
silence_root_warning
Set via BUNDLE_SILENCE_ROOT_WARNING: true
### Gemfile
ruby
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
ruby '2.6.5'
# Rails Specific
# =====================================================================================
# Rails, MySQL, Puma
gem 'rails', '~> 5.2.0'
gem 'mysql2', '>= 0.4.4', '< 0.6.0'
gem 'puma', '~> 4.3'
# Rails Dependencies
gem 'sassc-rails'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.2'
gem 'turbolinks', '~> 5'
gem 'jbuilder', '~> 2.5'
# loads rails apps faster
gem 'bootsnap', '>= 1.1.0', require: false
# Application Specific
# =====================================================================================
# validators
gem 'validate_url'
# security
gem 'sanitize'
# interface items
gem 'carrierwave', '~> 1.2', '>= 1.2.3'
gem 'mini_magick'
gem 'multi-select-rails'
# cas client
gem 'rack-cas', '~> 0.16.0'
# managing cron jobs
gem 'whenever', require: false
# frontend
gem 'normalize-scss'
gem 'font-awesome-sass'
gem "non-stupid-digest-assets" # generates assets without fingerprint for 404 and 500 errors.
# searching / indexing for speeds / pagination for elegance
# gem 'kaminari'
gem 'elasticsearch-model'
gem 'elasticsearch-rails'
# Test Suite
# =====================================================================================
group :test do
gem 'rspec-rails'
gem 'shoulda'
gem 'shoulda-matchers'
gem 'database_cleaner'
gem 'simplecov', '~> 0.10', '< 0.18'
gem 'simplecov-console'
gem 'capybara', '>= 2.15', '< 4.0'
gem 'selenium-webdriver', '~> 3.14'
gem 'elasticsearch-extensions'
gem 'executables'
gem 'rspec_junit_formatter'
end
# Development / Test Items (Primarily debugging)
# =====================================================================================
group :development, :test do
gem 'faker'
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] # from rails new
gem 'pry'
gem 'pry-rails'
gem 'factory_bot_rails'
gem 'webmock'
end
group :development do
gem 'web-console', '>= 3.3.0'
gem 'listen', '>= 3.0.5', '< 3.2'
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
# performance helper
gem 'bullet' # helps to eliminate N+1 Queries
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
### Gemfile.lock
GEM
remote: https://rubygems.org/
specs:
actioncable (5.2.4.1)
actionpack (= 5.2.4.1)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
actionmailer (5.2.4.1)
actionpack (= 5.2.4.1)
actionview (= 5.2.4.1)
activejob (= 5.2.4.1)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0)
actionpack (5.2.4.1)
actionview (= 5.2.4.1)
activesupport (= 5.2.4.1)
rack (~> 2.0, >= 2.0.8)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
actionview (5.2.4.1)
activesupport (= 5.2.4.1)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.3)
activejob (5.2.4.1)
activesupport (= 5.2.4.1)
globalid (>= 0.3.6)
activemodel (5.2.4.1)
activesupport (= 5.2.4.1)
activerecord (5.2.4.1)
activemodel (= 5.2.4.1)
activesupport (= 5.2.4.1)
arel (>= 9.0)
activestorage (5.2.4.1)
actionpack (= 5.2.4.1)
activerecord (= 5.2.4.1)
marcel (~> 0.3.1)
activesupport (5.2.4.1)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
tzinfo (~> 1.1)
addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0)
ansi (1.5.0)
arel (9.0.0)
bindex (0.8.1)
bootsnap (1.4.6)
msgpack (~> 1.0)
builder (3.2.4)
bullet (6.1.0)
activesupport (>= 3.0.0)
uniform_notifier (~> 1.11)
byebug (11.1.1)
capybara (3.31.0)
addressable
mini_mime (>= 0.1.3)
nokogiri (~> 1.8)
rack (>= 1.6.0)
rack-test (>= 0.6.3)
regexp_parser (~> 1.5)
xpath (~> 3.2)
carrierwave (1.3.1)
activemodel (>= 4.0.0)
activesupport (>= 4.0.0)
mime-types (>= 1.16)
childprocess (3.0.0)
chronic (0.10.2)
coderay (1.1.2)
coffee-rails (4.2.2)
coffee-script (>= 2.2.0)
railties (>= 4.0.0)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.12.2)
concurrent-ruby (1.1.6)
crack (0.4.3)
safe_yaml (~> 1.0.0)
crass (1.0.6)
database_cleaner (1.8.3)
diff-lcs (1.3)
docile (1.3.2)
elasticsearch (7.5.0)
elasticsearch-api (= 7.5.0)
elasticsearch-transport (= 7.5.0)
elasticsearch-api (7.5.0)
multi_json
elasticsearch-extensions (0.0.31)
ansi
elasticsearch
elasticsearch-model (7.0.0)
activesupport (> 3)
elasticsearch (> 1)
hashie
elasticsearch-rails (7.0.0)
elasticsearch-transport (7.5.0)
faraday (>= 0.14, < 1)
multi_json
erubi (1.9.0)
execjs (2.7.0)
executables (0.1.0)
factory_bot (5.1.1)
activesupport (>= 4.2.0)
factory_bot_rails (5.1.1)
factory_bot (~> 5.1.0)
railties (>= 4.2.0)
faker (2.10.2)
i18n (>= 1.6, < 2)
faraday (0.17.3)
multipart-post (>= 1.2, < 3)
ffi (1.12.2)
font-awesome-sass (5.12.0)
sassc (>= 1.11)
globalid (0.4.2)
activesupport (>= 4.2.0)
hashdiff (1.0.1)
hashie (4.1.0)
i18n (1.8.2)
concurrent-ruby (~> 1.0)
jbuilder (2.10.0)
activesupport (>= 5.0.0)
json (2.3.0)
listen (3.1.5)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
ruby_dep (~> 1.2)
loofah (2.4.0)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
mail (2.7.1)
mini_mime (>= 0.1.1)
marcel (0.3.3)
mimemagic (~> 0.3.2)
method_source (0.9.2)
mime-types (3.3.1)
mime-types-data (~> 3.2015)
mime-types-data (3.2019.1009)
mimemagic (0.3.4)
mini_magick (4.10.1)
mini_mime (1.0.2)
mini_portile2 (2.4.0)
minitest (5.14.0)
msgpack (1.3.3)
multi-select-rails (0.9.12)
railties (>= 3.0)
multi_json (1.14.1)
multipart-post (2.1.1)
mysql2 (0.5.3)
nio4r (2.5.2)
nokogiri (1.10.9)
mini_portile2 (~> 2.4.0)
nokogumbo (2.0.2)
nokogiri (~> 1.8, >= 1.8.4)
non-stupid-digest-assets (1.0.9)
sprockets (>= 2.0)
normalize-scss (7.0.1)
sass (~> 3.3)
pry (0.12.2)
coderay (~> 1.1.0)
method_source (~> 0.9.0)
pry-rails (0.3.9)
pry (>= 0.10.4)
public_suffix (4.0.3)
puma (4.3.3)
nio4r (~> 2.0)
rack (2.2.2)
rack-cas (0.16.1)
addressable (~> 2.3)
nokogiri (~> 1.5)
rack (>= 1.3)
rack-test (1.1.0)
rack (>= 1.0, < 3)
rails (5.2.4.1)
actioncable (= 5.2.4.1)
actionmailer (= 5.2.4.1)
actionpack (= 5.2.4.1)
actionview (= 5.2.4.1)
activejob (= 5.2.4.1)
activemodel (= 5.2.4.1)
activerecord (= 5.2.4.1)
activestorage (= 5.2.4.1)
activesupport (= 5.2.4.1)
bundler (>= 1.3.0)
railties (= 5.2.4.1)
sprockets-rails (>= 2.0.0)
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
nokogiri (>= 1.6)
rails-html-sanitizer (1.3.0)
loofah (~> 2.3)
railties (5.2.4.1)
actionpack (= 5.2.4.1)
activesupport (= 5.2.4.1)
method_source
rake (>= 0.8.7)
thor (>= 0.19.0, < 2.0)
rake (13.0.1)
rb-fsevent (0.10.3)
rb-inotify (0.10.1)
ffi (~> 1.0)
regexp_parser (1.7.0)
rspec-core (3.9.1)
rspec-support (~> 3.9.1)
rspec-expectations (3.9.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.9.0)
rspec-mocks (3.9.1)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.9.0)
rspec-rails (3.9.0)
actionpack (>= 3.0)
activesupport (>= 3.0)
railties (>= 3.0)
rspec-core (~> 3.9.0)
rspec-expectations (~> 3.9.0)
rspec-mocks (~> 3.9.0)
rspec-support (~> 3.9.0)
rspec-support (3.9.2)
rspec_junit_formatter (0.4.1)
rspec-core (>= 2, < 4, != 2.12.0)
ruby_dep (1.5.0)
rubyzip (2.2.0)
safe_yaml (1.0.5)
sanitize (5.1.0)
crass (~> 1.0.2)
nokogiri (>= 1.8.0)
nokogumbo (~> 2.0)
sass (3.7.4)
sass-listen (~> 4.0.0)
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
sassc (2.2.1)
ffi (~> 1.9)
sassc-rails (2.1.2)
railties (>= 4.0.0)
sassc (>= 2.0)
sprockets (> 3.0)
sprockets-rails
tilt
selenium-webdriver (3.142.7)
childprocess (>= 0.5, < 4.0)
rubyzip (>= 1.2.2)
shoulda (2.11.3)
shoulda-matchers (4.3.0)
activesupport (>= 4.2.0)
simplecov (0.17.1)
docile (~> 1.1)
json (>= 1.8, < 3)
simplecov-html (~> 0.10.0)
simplecov-console (0.7.2)
ansi
simplecov
terminal-table
simplecov-html (0.10.2)
spring (2.1.0)
spring-watcher-listen (2.0.1)
listen (>= 2.7, < 4.0)
spring (>= 1.2, < 3.0)
sprockets (4.0.0)
concurrent-ruby (~> 1.0)
rack (> 1, < 3)
sprockets-rails (3.2.1)
actionpack (>= 4.0)
activesupport (>= 4.0)
sprockets (>= 3.0.0)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
thor (1.0.1)
thread_safe (0.3.6)
tilt (2.0.10)
turbolinks (5.2.1)
turbolinks-source (~> 5.2)
turbolinks-source (5.2.0)
tzinfo (1.2.6)
thread_safe (~> 0.1)
uglifier (4.2.0)
execjs (>= 0.3.0, < 3)
unicode-display_width (1.6.1)
uniform_notifier (1.13.0)
validate_url (1.0.8)
activemodel (>= 3.0.0)
public_suffix
web-console (3.7.0)
actionview (>= 5.0)
activemodel (>= 5.0)
bindex (>= 0.4.0)
railties (>= 5.0)
webmock (3.8.2)
addressable (>= 2.3.6)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
websocket-driver (0.7.1)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.4)
whenever (1.0.0)
chronic (>= 0.6.3)
xpath (3.2.0)
nokogiri (~> 1.8)
PLATFORMS
ruby
DEPENDENCIES
bootsnap (>= 1.1.0)
bullet
byebug
capybara (>= 2.15, < 4.0)
carrierwave (~> 1.2, >= 1.2.3)
coffee-rails (~> 4.2)
database_cleaner
elasticsearch-extensions
elasticsearch-model
elasticsearch-rails
executables
factory_bot_rails
faker
font-awesome-sass
jbuilder (~> 2.5)
listen (>= 3.0.5, < 3.2)
mini_magick
multi-select-rails
mysql2 (>= 0.4.4, < 0.6.0)
non-stupid-digest-assets
normalize-scss
pry
pry-rails
puma (~> 4.3)
rack-cas (~> 0.16.0)
rails (~> 5.2.0)
rspec-rails
rspec_junit_formatter
sanitize
sassc-rails
selenium-webdriver (~> 3.14)
shoulda
shoulda-matchers
simplecov (~> 0.10, < 0.18)
simplecov-console
spring
spring-watcher-listen (~> 2.0.0)
turbolinks (~> 5)
tzinfo-data
uglifier (>= 1.3.0)
validate_url
web-console (>= 3.3.0)
webmock
whenever
RUBY VERSION
ruby 2.6.5p114
BUNDLED WITH
1.17.2
Docker File
FROM ruby:2.6
# Install capybara-webkit deps
RUN apt-get update \
&& apt-get install -y xvfb git cron qt5-default libqt5webkit5-dev \
gstreamer1.0-plugins-base gstreamer1.0-tools gstreamer1.0-x \
imagemagick
# Use JEMALLOC instead
RUN apt-get install -y libjemalloc2 libjemalloc-dev
ENV LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so
# Node.js
RUN curl -sL https://deb.nodesource.com/setup_13.x | bash - \
&& apt-get install -y nodejs
# yarn
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -\
&& echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \
&& apt-get update \
&& apt-get install -y yarn
# Install our dependencies and rails
RUN mkdir -p /home/sotldirectory
WORKDIR /home/sotldirectory
ADD . /home/sotldirectory
RUN bundle install --jobs=4 --retry=3
# Copy openssl config to correct folder
RUN cp -R openssl.cnf /etc/ssl
ADD ./startup.sh /usr/bin/
RUN chmod -v +x /usr/bin/startup.sh
ENTRYPOINT ["/usr/bin/startup.sh"]
startup.sh
#!/bin/bash
# set terminal
export TERM=vt100
# start cron and update whenever
service cron start
whenever --update-crontab
# remove PID and start the server
file="./tmp/pids/server.pid"
[ -f $file ] && rm $file
bin/rails s -p 3000 -b '0.0.0.0'
schedule.rb - relavant section
# change to the base directory of the application
# run the file with the rails runner task
every 1.minutes do
command 'cd /home/sotldirectory && bin/rails r import/cron_import.rb'
end
I solved a similar issue invoking ./bin/bundle exec before rails, ruby or rake, I think bundler is lost in different ruby versions gems
Change
command 'cd /home/sotldirectory && bin/rails r import/cron_import.rb'
to
command 'cd /home/sotldirectory && bundle exec rails r import/cron_import.rb'
Also, which rake version is listed in your Gemfile.lock?
Changed the dockerfile from FROM ruby:2.6 to FROM ruby:2.6.0. Using ruby:2.6 appears to be pulling 2.6.5. I deleted the gemfile.lock and and a bundle install to reset the gemfile.lock. Currently it is showing one version of bundler 1.17.2 and everything is working normally again. For anyone else that sees this I believe their is issues with bundler 2 and rubygems.
Similar issue seen here
https://github.com/rubygems/bundler/issues/6882
Restart your system and it should work

Test Kitchen Vagrant Berkshelf

With the following software versions installed:
Berkshelf - 2.0.18
Ruby - 2.2.2
Vagrant - 1.9.3
test-kitchen - 1.15.0
kitchen-vagrant - 1.1.0
Chef Server API version - 11.0.2
I am attempting to run test kitchen on my local system.
In doing so, I have a berksfile that points to a chef_api :config with a single recipe apt
chef_api :config
cookbook 'apt'
The config is based on my knife.rb configuration.
I do most of my gem installs via bundler
Here is my gem file
source 'https://artifactory.mia.ucloud.int/artifactory/api/gems/rubygems' do
gem 'berkshelf', '~> 2.0.18'
gem 'celluloid', '~> 0.16.0'
gem 'celluloid-io', '~> 0.16.1'
gem 'net-http-persistent', '~> 2.9.0'
gem 'test-kitchen'
gem 'kitchen-vagrant'
end
Here is the .kitchen.yml:
---
driver:
name: vagrant
provisioner:
name: chef_solo
platforms:
- name: ubuntu-14.04
driver:
box: ubuntu/trusty64
suites:
- name: default
run_list:
- recipe[apt::default]
- recipe[git::server]
attributes:
- name: core
run_list:
- recipe[ultimate_metadefender_core::default]
I am able to get the bundle install to work and run the berks install to work fine. However, when I run a kitchen converge the system deploys but then gets to the point of deploying the cookbooks and fails with the following message:
-----> Starting Kitchen (v1.15.0)
-----> Converging <core-ubuntu-1404>...
Preparing files for transfer
Preparing dna.json
Resolving cookbook dependencies with Berkshelf 2.0.18...
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: 1 actions failed.
>>>>>> Failed to complete #converge action: [undefined method `vendor' for
#<Berkshelf::Berksfile:0x007fdd3d161620>] on core-ubuntu-1404
>>>>>> ----------------------
>>>>>> Please see .kitchen/logs/kitchen.log for more details
>>>>>> Also try running `kitchen diagnose --all` for configuration
I then reviewed the logs and it appears to be coming from the test-kitchen gem:
-----> Converging <core-ubuntu-1404>...
Preparing files for transfer
Preparing dna.json
Resolving cookbook dependencies with Berkshelf 2.0.18...
Converge failed on instance <core-ubuntu-1404>.
------Exception-------
Class: NoMethodError
Message: undefined method `vendor' for #
<Berkshelf::Berksfile:0x007fdd3d161620>
----------------------
------Backtrace-------
/Users/miker/Projects/hp/cav/infrastructure/configuration/vendor/gems/ruby/2.2.0/gems/test-kitchen-1.15.0/lib/kitchen/provisioner/chef/berkshelf.rb:66:in `block in resolve'
/Users/miker/Projects/hp/cav/infrastructure/configuration/vendor/gems/ruby/2.2.0/gems/thor-0.18.1/lib/thor/shell/basic.rb:19:in `mute'
/Users/miker/Projects/hp/cav/infrastructure/configuration/vendor/gems/ruby/2.2.0/gems/test-kitchen-1.15.0/lib/kitchen/provisioner/chef/berkshelf.rb:61:in `resolve'
/Users/miker/Projects/hp/cav/infrastructure/configuration/vendor/gems/ruby/2.2.0/gems/test-kitchen-1.15.0/lib/kitchen/provisioner/chef/common_sandbox.rb:329:in `block in resolve_with_berkshelf'
/Users/miker/Projects/hp/cav/infrastructure/configuration/vendor/gems/ruby/2.2.0/gems/test-kitchen-1.15.0/lib/kitchen/provisioner/chef/common_sandbox.rb:326:in `synchronize'
/Users/miker/Projects/hp/cav/infrastructure/configuration/vendor/gems/ruby/2.2.0/gems/test-kitchen-1.15.0/lib/kitchen/provisioner/chef/common_sandbox.rb:326:in `resolve_with_berkshelf'
/Users/miker/Projects/hp/cav/infrastructure/configuration/vendor/gems/ruby/2.2.0/gems/test-kitchen-1.15.0/lib/kitchen/provisioner/chef/common_sandbox.rb:260:in `prepare_cookbooks'
/Users/miker/Projects/hp/cav/infrastructure/configuration/vendor/gems/ruby/2.2.0/gems/test-kitchen-1.15.0/lib/kitchen/provisioner/chef/common_sandbox.rb:48:in `populate'
/Users/miker/Projects/hp/cav/infrastructure/configuration/vendor/gems/ruby/2.2.0/gems/test-kitchen-1.15.0/lib/kitchen/provisioner/chef_base.rb:126:in `create_sandbox'
/Users/miker/Projects/hp/cav/infrastructure/configuration/vendor/gems/ruby/2.2.0/gems/test-kitchen-1.15.0/lib/kitchen/provisioner/chef_solo.rb:41:in `create_sandbox'
/Users/miker/Projects/hp/cav/infrastructure/configuration/vendor/gems/ruby/2.2.0/gems/test-kitchen-1.15.0/lib/kitchen/provisioner/base.rb:65:in `call'
/Users/miker/Projects/hp/cav/infrastructure/configuration/vendor/gems/ruby/2.2.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:384:in `block in converge_action'
/Users/miker/Projects/hp/cav/infrastructure/configuration/vendor/gems/ruby/2.2.0/g
ems/test-kitchen-1.15.0/lib/kitchen/instance.rb:527:in `synchronize_or_call'
/Users/miker/Projects/hp/cav/infrastructure/configuration/vendor/gems/ruby/2.2.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:489:in `block in action'
/Users/miker/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/benchmark.rb:288:in `measure'
/Users/miker/Projects/hp/cav/infrastructure/configuration/vendor/gems/ruby/2.2.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:488:in `action'
/Users/miker/Projects/hp/cav/infrastructure/configuration/vendor/gems/ruby/2.2.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:380:in `converge_action'
/Users/miker/Projects/hp/cav/infrastructure/configuration/vendor/gems/ruby/2.2.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:359:in `block in transition_to'
/Users/miker/Projects/hp/cav/infrastructure/configuration/vendor/gems/ruby/2.2.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:358:in `each'
/Users/miker/Projects/hp/cav/infrastructure/configuration/vendor/gems/ruby/2.2.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:358:in `transition_to'
/Users/miker/Projects/hp/cav/infrastructure/configuration/vendor/gems/ruby/2.2.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:135:in `converge'
/Users/miker/Projects/hp/cav/infrastructure/configuration/vendor/gems/ruby/2.2.0/gems/test-kitchen-1.15.0/lib/kitchen/command.rb:197:in `public_send'
/Users/miker/Projects/hp/cav/infrastructure/configuration/vendor/gems/ruby/2.2.0/gems/test-kitchen-1.15.0/lib/kitchen/command.rb:197:in `run_action_in_thread'
/Users/miker/Projects/hp/cav/infrastructure/configuration/vendor/gems/ruby/2.2.0/gems/test-kitchen-1.15.0/lib/kitchen/command.rb:169:in `block (2 levels) in run_action'
/Users/miker/Projects/hp/cav/infrastructure/configuration/vendor/gems/ruby/2.2.0/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:323:in `call'
/Users/miker/Projects/hp/cav/infrastructure/configuration/vendor/gems/ruby/2.2.0/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:323:in `block in create_with_logging_context'
----End Backtrace-----
In reviewing the gem berksfile.rb file there is a object created using the berksfile and then this object is eventually called with the vendor method, which does not exists. I am not sure where to take this at this point. If anyone can provide some assistance on this issue, it would be greatly appreciated. I am stuck on these specific versions due to the chef server version we are on.
Based on what I have read in the docs, the latter versions of Berkshelf require a Berkshelf API version or Chef API version 12.4 or higher. Unfortunately neither is possible to attain in my situation
After some research and digging around, I was able to get this to work with the following
Gemfile:
gem 'rspec', '~> 3.1.0'
gem 'test-kitchen', '~> 1.0'
gem 'berkshelf', '~> 2.0.0' # DO NOT UPDATE to 3.00
gem 'celluloid', '~> 0.16.0' # Added due to bug in bundler ignoring lock file
gem 'kitchen-vagrant', '~> 0.15.0'
gem 'rest-client', '~> 1.6.7'
gem 'json-schema', '~> 2.2.5'
gem 'rb-fsevent', '0.9.5' # Added due to ruby restriction with ruby_dep
gem 'rb-inotify', '0.9.5' # Added due to ruby restriction with ruby_dep
gem 'rack', '1.6.0' #needed to force
Gemfile.lock:
GEM
remote: http://artifactory.mia.ucloud.int/artifactory/api/gems/rubygems/
specs:
activesupport (3.2.22.2)
i18n (~> 0.6, >= 0.6.4)
multi_json (~> 1.0)
addressable (2.3.8)
akami (1.3.1)
gyoku (>= 0.4.0)
nokogiri
artifactory (2.3.2)
berkshelf (2.0.18)
activesupport (~> 3.2.0)
addressable (~> 2.3.4)
buff-shell_out (~> 0.1)
chozo (>= 0.6.1)
faraday (~> 0.8.5)
hashie (~> 2.0)
minitar (~> 0.5.4)
rbzip2 (~> 0.2.0)
retryable (~> 1.3.3)
ridley (~> 1.7.0)
solve (~> 0.8.2)
thor (~> 0.18.0)
buff-config (0.4.0)
buff-extensions (~> 0.3)
varia_model (~> 0.1)
buff-extensions (0.5.0)
buff-ignore (1.1.1)
buff-ruby_engine (0.1.0)
buff-shell_out (0.2.0)
buff-ruby_engine (~> 0.1.0)
builder (3.2.2)
celluloid (0.16.0)
timers (~> 4.0.0)
celluloid-io (0.16.2)
celluloid (>= 0.16.0)
nio4r (>= 1.1.0)
chozo (0.6.1)
activesupport (>= 3.2.0)
hashie (>= 2.0.2)
multi_json (>= 1.3.0)
diff-lcs (1.2.5)
erubis (2.7.0)
faraday (0.8.11)
multipart-post (~> 1.2.0)
ffi (1.9.10)
gssapi (1.0.3)
ffi (>= 1.0.1)
gyoku (1.3.1)
builder (>= 2.1.2)
hashie (2.1.2)
hitimes (1.2.4)
httpclient (2.8.0)
httpi (0.9.7)
rack (= 1.6.0)
i18n (0.7.0)
json (1.8.1)
json-schema (2.2.5)
kitchen-vagrant (0.15.0)
test-kitchen (~> 1.0)
little-plugger (1.1.4)
logging (1.8.2)
little-plugger (>= 1.1.3)
multi_json (>= 1.8.4)
mime-types (1.25.1)
mini_portile2 (2.0.0)
minitar (0.5.4)
mixlib-authentication (1.3.0)
mixlib-log
mixlib-install (1.0.11)
artifactory
mixlib-shellout
mixlib-versioning
mixlib-log (1.6.0)
mixlib-shellout (1.6.1)
mixlib-versioning (1.1.0)
multi_json (1.12.0)
multipart-post (1.2.0)
net-http-persistent (2.9.4)
net-scp (1.2.1)
net-ssh (>= 2.6.5)
net-ssh (2.9.4)
nio4r (1.2.1)
nokogiri (1.6.7.2)
mini_portile2 (~> 2.0.0.rc2)
nori (1.1.5)
rack (1.6.0)
rb-fsevent (0.9.5)
rb-inotify (0.9.5)
ffi (>= 0.5.0)
rbzip2 (0.2.0)
rest-client (1.6.9)
mime-types (~> 1.16)
retryable (1.3.6)
ridley (1.7.1)
addressable
buff-config (~> 0.2)
buff-extensions (~> 0.3)
buff-ignore (~> 1.1)
buff-shell_out (~> 0.1)
celluloid (~> 0.15)
celluloid-io (~> 0.15)
erubis
faraday (>= 0.8.4)
hashie (>= 2.0.2)
json (>= 1.7.7)
mixlib-authentication (>= 1.3.0)
net-http-persistent (>= 2.8)
net-ssh
retryable
solve (>= 0.4.4)
varia_model (~> 0.1)
winrm (~> 1.1.0)
rspec (3.1.0)
rspec-core (~> 3.1.0)
rspec-expectations (~> 3.1.0)
rspec-mocks (~> 3.1.0)
rspec-core (3.1.7)
rspec-support (~> 3.1.0)
rspec-expectations (3.1.2)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.1.0)
rspec-mocks (3.1.3)
rspec-support (~> 3.1.0)
rspec-support (3.1.2)
rubyntlm (0.1.1)
safe_yaml (1.0.4)
savon (0.9.5)
akami (~> 1.0)
builder (>= 2.1.2)
gyoku (>= 0.4.0)
httpi (~> 0.9)
nokogiri (>= 1.4.0)
nori (~> 1.0)
wasabi (~> 1.0)
solve (0.8.2)
test-kitchen (1.7.3)
mixlib-install (~> 1.0, >= 1.0.4)
mixlib-shellout (>= 1.2, < 3.0)
net-scp (~> 1.1)
net-ssh (>= 2.9, < 4.0)
safe_yaml (~> 1.0)
thor (~> 0.18)
thor (0.18.1)
timers (4.0.4)
hitimes
uuidtools (2.1.5)
varia_model (0.3.2)
buff-extensions (~> 0.2)
hashie (>= 2.0.2)
wasabi (1.0.0)
nokogiri (>= 1.4.0)
winrm (1.1.3)
gssapi (~> 1.0.0)
httpclient (~> 2.2, >= 2.2.0.2)
logging (~> 1.6, >= 1.6.1)
nokogiri (~> 1.5)
rubyntlm (~> 0.1.1)
savon (= 0.9.5)
uuidtools (~> 2.1.2)
PLATFORMS
ruby
DEPENDENCIES
berkshelf (~> 2.0.0)!
celluloid (~> 0.16.0)!
json-schema (~> 2.2.5)!
kitchen-vagrant (~> 0.15.0)!
rack (= 1.6.0)!
rb-fsevent (= 0.9.5)!
rb-inotify (= 0.9.5)!
rest-client (~> 1.6.7)!
rspec (~> 3.1.0)!
test-kitchen (~> 1.0)!
BUNDLED WITH
1.14.6
It is not ideal but for anyone in a similar situation. This is works as expected.
Berkshelf 2.0 is very old, the current version is 5.x. We only support Berkshelf installed via ChefDK so please remove all existing copies and then install via the normal ChefDK installers.

How to resolve a mixlib-shellout gem version conflict?

I am trying use to Kitchen/Chef to deploy. I am actually not sure if I've touched Kitchen yet.
My understanding is gem list lists all the gems in the repository, and a project fetches any gems it wants from this repository.
After I ran gem install bundler and gem install berkshelf I have a mixlib-shellout (2.2.6) shown by gem list | grep shellout.
Then I ran bundle install and based on my Gemfile, "mixlib-shellout (1.6.1)" is installed. Then I have "mixlib-shellout (2.2.6, 1.6.1)" shown by gem list | grep shellout.
From Gemfile.lock, I believe 1.6.1 is the version wanted. Then I ran berks install, an exception was thrown, which was:
Unable to activate chef-11.18.12, because mixlib-shellout-2.2.6 conflicts with mixlib-shellout (~> 1.4) - 11.18.12 - (Gem::LoadError)
I don't understand why it tries to fetch 2.2.6 instead of 1.6.1.
My Gemfile
source 'https://rubygems.org'
group :development do
gem 'berkshelf', '~> 4.0'
gem 'berkshelf-api-client', '~> 2.0'
gem 'thor'
gem 'chef', '~> 11.16'
gem 'test-kitchen', '~> 1.2'
gem 'kitchen-vagrant', '>= 0.16'
gem 'serverspec'
gem 'infrataster'
gem 'busser'
gem 'busser-serverspec'
gem 'chefspec', '~>4'
gem 'rubocop'
gem 'foodcritic'
end
gem 'chef-vault', '~> 2.2'
Gemfile.lock
GEM
remote: https://rubygems.org/
specs:
addressable (2.3.8)
ast (2.2.0)
berkshelf (4.1.0)
addressable (~> 2.3.4)
berkshelf-api-client (~> 2.0)
buff-config (~> 1.0)
buff-extensions (~> 1.0)
buff-shell_out (~> 0.1)
celluloid (= 0.16.0)
celluloid-io (~> 0.16.1)
cleanroom (~> 1.0)
faraday (~> 0.9.0)
httpclient (~> 2.6.0)
minitar (~> 0.5.4)
octokit (~> 4.0)
retryable (~> 2.0)
ridley (~> 4.3)
solve (~> 2.0)
thor (~> 0.19)
berkshelf-api-client (2.0.0)
faraday (~> 0.9.1)
httpclient (~> 2.6.0)
buff-config (1.0.1)
buff-extensions (~> 1.0)
varia_model (~> 0.4)
buff-extensions (1.0.0)
buff-ignore (1.1.1)
buff-ruby_engine (0.1.0)
buff-shell_out (0.2.0)
buff-ruby_engine (~> 0.1.0)
busser (0.7.1)
thor (<= 0.19.0)
busser-serverspec (0.5.9)
busser
capybara (2.6.2)
addressable
mime-types (>= 1.16)
nokogiri (>= 1.3.3)
rack (>= 1.0.0)
rack-test (>= 0.5.4)
xpath (~> 2.0)
celluloid (0.16.0)
timers (~> 4.0.0)
celluloid-io (0.16.2)
celluloid (>= 0.16.0)
nio4r (>= 1.1.0)
chef (11.18.12)
chef-zero (~> 2.2, >= 2.2.1)
diff-lcs (~> 1.2, >= 1.2.4)
erubis (~> 2.7)
ffi-yajl (~> 1.2)
highline (~> 1.6, >= 1.6.9)
mime-types (~> 1.16)
mixlib-authentication (~> 1.3)
mixlib-cli (~> 1.4)
mixlib-config (~> 2.0)
mixlib-log (~> 1.3)
mixlib-shellout (~> 1.4)
net-ssh (~> 2.6)
net-ssh-multi (~> 1.1)
ohai (~> 7.4)
plist (~> 3.1.0)
pry (~> 0.9)
rest-client (>= 1.0.4, <= 1.6.7)
chef-vault (2.7.1)
chef-zero (2.2.1)
ffi-yajl (~> 1.1)
hashie (~> 2.0)
mixlib-log (~> 1.3)
rack
chefspec (4.5.0)
chef (>= 11.14)
fauxhai (~> 3.0, >= 3.0.1)
rspec (~> 3.0)
cleanroom (1.0.0)
cliver (0.3.2)
coderay (1.1.0)
diff-lcs (1.2.5)
erubis (2.7.0)
faraday (0.9.2)
multipart-post (>= 1.2, < 3)
faraday_middleware (0.10.0)
faraday (>= 0.7.4, < 0.10)
fauxhai (3.1.0)
net-ssh
ffi (1.9.10)
ffi-yajl (1.4.0)
ffi (~> 1.5)
libyajl2 (~> 1.2)
foodcritic (6.0.0)
erubis
gherkin (~> 2.11)
nokogiri (>= 1.5, < 2.0)
rake
rufus-lru (~> 1.0)
treetop (~> 1.4)
yajl-ruby (~> 1.1)
gherkin (2.12.2)
multi_json (~> 1.3)
hashie (2.1.2)
highline (1.7.8)
hitimes (1.2.3)
httpclient (2.6.0.1)
infrataster (0.3.2)
capybara
faraday
faraday_middleware (>= 0.10.0)
net-ssh
net-ssh-gateway
poltergeist
rspec (>= 2.0, < 4.0)
thor
ipaddress (0.8.2)
json (1.8.3)
kitchen-vagrant (0.19.0)
test-kitchen (~> 1.4)
libyajl2 (1.2.0)
method_source (0.8.2)
mime-types (1.25.1)
mini_portile2 (2.0.0)
minitar (0.5.4)
mixlib-authentication (1.4.0)
mixlib-log
rspec-core (~> 3.2)
rspec-expectations (~> 3.2)
rspec-mocks (~> 3.2)
mixlib-cli (1.5.0)
mixlib-config (2.2.1)
mixlib-log (1.6.0)
mixlib-shellout (1.6.1)
molinillo (0.2.3)
multi_json (1.11.2)
multipart-post (2.0.0)
net-scp (1.2.1)
net-ssh (>= 2.6.5)
net-ssh (2.9.4)
net-ssh-gateway (1.2.0)
net-ssh (>= 2.6.5)
net-ssh-multi (1.2.1)
net-ssh (>= 2.6.5)
net-ssh-gateway (>= 1.2.0)
net-telnet (0.1.1)
nio4r (1.2.1)
nokogiri (1.6.7.2)
mini_portile2 (~> 2.0.0.rc2)
octokit (4.2.0)
sawyer (~> 0.6.0, >= 0.5.3)
ohai (7.4.1)
ffi (~> 1.9)
ffi-yajl (~> 1.1)
ipaddress
mime-types (~> 1.16)
mixlib-cli
mixlib-config (~> 2.0)
mixlib-log
mixlib-shellout (~> 1.2)
systemu (~> 2.6.4)
wmi-lite (~> 1.0)
parser (2.3.0.3)
ast (~> 2.2)
plist (3.1.0)
poltergeist (1.9.0)
capybara (~> 2.1)
cliver (~> 0.3.1)
multi_json (~> 1.0)
websocket-driver (>= 0.2.0)
polyglot (0.3.5)
powerpack (0.1.1)
pry (0.10.3)
coderay (~> 1.1.0)
method_source (~> 0.8.1)
slop (~> 3.4)
rack (1.6.4)
rack-test (0.6.3)
rack (>= 1.0)
rainbow (2.1.0)
rake (10.5.0)
rest-client (1.6.7)
mime-types (>= 1.16)
retryable (2.0.3)
ridley (4.4.1)
addressable
buff-config (~> 1.0)
buff-extensions (~> 1.0)
buff-ignore (~> 1.1)
buff-shell_out (~> 0.1)
celluloid (~> 0.16.0)
celluloid-io (~> 0.16.1)
erubis
faraday (~> 0.9.0)
hashie (>= 2.0.2, < 4.0.0)
httpclient (~> 2.6)
json (>= 1.7.7)
mixlib-authentication (>= 1.3.0)
retryable (~> 2.0)
semverse (~> 1.1)
varia_model (~> 0.4.0)
rspec (3.4.0)
rspec-core (~> 3.4.0)
rspec-expectations (~> 3.4.0)
rspec-mocks (~> 3.4.0)
rspec-core (3.4.2)
rspec-support (~> 3.4.0)
rspec-expectations (3.4.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.4.0)
rspec-its (1.2.0)
rspec-core (>= 3.0.0)
rspec-expectations (>= 3.0.0)
rspec-mocks (3.4.1)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.4.0)
rspec-support (3.4.1)
rubocop (0.37.0)
parser (>= 2.3.0.2, < 3.0)
powerpack (~> 0.1)
rainbow (>= 1.99.1, < 3.0)
ruby-progressbar (~> 1.7)
unicode-display_width (~> 0.3)
ruby-progressbar (1.7.5)
rufus-lru (1.0.5)
safe_yaml (1.0.4)
sawyer (0.6.0)
addressable (~> 2.3.5)
faraday (~> 0.8, < 0.10)
semverse (1.2.1)
serverspec (2.29.1)
multi_json
rspec (~> 3.0)
rspec-its
specinfra (~> 2.48)
sfl (2.2)
slop (3.6.0)
solve (2.0.2)
molinillo (~> 0.2.3)
semverse (~> 1.1)
specinfra (2.50.4)
net-scp
net-ssh (>= 2.7, < 3.1)
net-telnet
sfl
systemu (2.6.5)
test-kitchen (1.4.2)
mixlib-shellout (>= 1.2, < 3.0)
net-scp (~> 1.1)
net-ssh (~> 2.7, < 2.10)
safe_yaml (~> 1.0)
thor (~> 0.18)
thor (0.19.0)
timers (4.0.4)
hitimes
treetop (1.6.3)
polyglot (~> 0.3)
unicode-display_width (0.3.1)
varia_model (0.4.1)
buff-extensions (~> 1.0)
hashie (>= 2.0.2, < 4.0.0)
websocket-driver (0.6.3)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.2)
wmi-lite (1.0.0)
xpath (2.0.0)
nokogiri (~> 1.3)
yajl-ruby (1.2.1)
PLATFORMS
ruby
DEPENDENCIES
berkshelf (~> 4.0)
berkshelf-api-client (~> 2.0)
busser
busser-serverspec
chef (~> 11.16)
chef-vault (~> 2.2)
chefspec (~> 4)
foodcritic
infrataster
kitchen-vagrant (>= 0.16)
rubocop
serverspec
test-kitchen (~> 1.2)
thor
BUNDLED WITH
1.11.2
You do not want to be bundling chef-11.18.12 with test-kitchen and berkshelf. You don't need to bundle chef with those tools, and you definitely will run into issues trying to bundle chef-11 with them.
The problem with creating a Gemfile with all of your cli tools in them is that those tools never activate the entire set of gems all at once. So test-kitchen does not depend on chef, and berkshelf only recently started pulling in chef-config as a library. When you try to create a bundle you are stating that every gem must be capable of being loaded into the same ruby process with every other gem. Even for the latest set of cli tools this is something which will frequently break. If you add in chef-11.18.12 then you are picking a gem with a frozen set of gem requirements from April of last year (about 9 months ago), and its highly likely that the latest test-kitchen and berkshelf versions will pull in versions of mixlib-shellout that are incompatible with that version of chef. It gets worse because we made breaking changes to mixlib-shellout and chef-11 is forever pinned on an old branch of mixlib-shellout that is not getting updates, while test-kitchen and berkshelf have moved on.
This is why ChefDK exists which is to give a consistent set of command line tools, in something that looks superficially like a bundle, but which is not a bundle. If test-kitchen or berkshelf don't load chef into memory simultaneously, then it is fine to include different versions of those gems which may 'conflict' in their use of mixlib-shellout but will load into different ruby process just fine. Since they never all try to load into the same ruby process the 'conflict' over mixlib-shellout never becomes a real one.
Also, we do try to take a bit of care that they all load together correctly and we don't wind up with multiple versions of mixlib-shellout in the ChefDK, but sometimes this is difficult to avoid.
What you are probably trying to do is bundle everything together because you want to have the latest toolchain, but want to use chef-11 because your production is chef-11. But the issue there is that when you are using berkshelf or test-kitchen there is no requirement to use chef-11 in that ruby process that you are launching. When TK starts, it should start up a virt, and will then install chef on that virt and launch it -- you should be making sure that virt has chef-11 so you can test your cookbooks, not that your TK process is bundled with chef-11. Whatever chef gem TK is bundled with is completely irrelevant to how it operates.
If you're trying to test chef-11 with test-kitchen the right way to do that is by setting the require_chef_omnibus config parameter to "11.18.12" in your kitchen.yml file. That will cause chef-11 to get installed on the virt you are trying to provision.
+1 on the recommendation to simply start by installing ChefDK and not trying to bundle your own toolset.
It is even recommended to use chef-12 knife and ChefDK on your workstation to manage chef-11 virts/hosts. There is one gotcha where chefspec really does run on your workstation and testing chefspec against chef-12 when your production is chef-11 could allow certain kinds of failures to go undetected. You could bundle chefspec against chef-11 and do testing that way -- however, its most likely better to stick with full integration testing with test-kitchen to find those problems, and just use chefspec as quick flame tests (or not use it at all -- unit testing and mocking out your resource collection are conceptually fairly advanced topics). Until you actually hit and issue with chefspec, its best not to worry about the chef version on your workstation and just use the latest chef version for knife.

Could not find i18n-0.6.9 in any of the sources

Actually i'm getting that error inside the travis build.
My Gemfile is:
source 'http://rubygems.org'
# Gemfile for youtube_dlhelper
# Add dependencies required to use your gem here.
group :default do
gem 'highline'
gem 'dir'
gem 'fileutils2'
gem 'parseconfig'
gem 'viddl-rb'
gem 'streamio-ffmpeg'
gem 'rainbow'
gem 'gli'
end
# Add dependencies to develop your gem here.
# Include everything needed to run rake, tests, features, etc.
group :development do
gem 'rdoc', '~> 4.1.0'
gem 'bundler', '~> 1.0'
gem 'jeweler', '~> 2.0.0'
gem 'yard'
gem 'gem-release'
end
group :test do
gem 'shoulda', '>= 0'
gem 'rspec'
gem 'coveralls', require: false
gem 'simplecov'
end
The Gemfile.lock:
GEM
remote: http://rubygems.org/
specs:
activesupport (4.0.2)
i18n (~> 0.6, >= 0.6.4)
minitest (~> 4.2)
multi_json (~> 1.3)
thread_safe (~> 0.1)
tzinfo (~> 0.3.37)
addressable (2.3.5)
atomic (1.1.14)
builder (3.2.2)
coveralls (0.7.0)
multi_json (~> 1.3)
rest-client
simplecov (>= 0.7)
term-ansicolor
thor
descendants_tracker (0.0.3)
diff-lcs (1.2.5)
dir (0.1.2)
docile (1.1.1)
domain_name (0.5.15)
unf (>= 0.0.5, < 1.0.0)
faraday (0.8.8)
multipart-post (~> 1.2.0)
fileutils2 (0.2.0)
gem-release (0.7.1)
git (1.2.6)
github_api (0.11.1)
addressable (~> 2.3)
descendants_tracker (~> 0.0.1)
faraday (~> 0.8, < 0.10)
hashie (>= 1.2)
multi_json (>= 1.7.5, < 2.0)
nokogiri (~> 1.6.0)
oauth2
gli (2.8.1)
hashie (2.0.5)
highline (1.6.20)
http-cookie (1.0.2)
domain_name (~> 0.5)
httpauth (0.2.0)
i18n (0.6.9)
jeweler (2.0.0)
builder
bundler (>= 1.0)
git (>= 1.2.5)
github_api
highline (>= 1.6.15)
nokogiri (>= 1.5.10)
rake
rdoc
json (1.8.1)
jwt (0.1.8)
multi_json (>= 1.5)
mechanize (2.7.3)
domain_name (~> 0.5, >= 0.5.1)
http-cookie (~> 1.0)
mime-types (~> 2.0)
net-http-digest_auth (~> 1.1, >= 1.1.1)
net-http-persistent (~> 2.5, >= 2.5.2)
nokogiri (~> 1.4)
ntlm-http (~> 0.1, >= 0.1.1)
webrobots (>= 0.0.9, < 0.2)
mime-types (2.0)
mini_portile (0.5.2)
minitest (4.7.5)
multi_json (1.8.2)
multi_xml (0.5.5)
multipart-post (1.2.0)
net-http-digest_auth (1.4)
net-http-persistent (2.9)
nokogiri (1.6.1)
mini_portile (~> 0.5.0)
ntlm-http (0.1.1)
oauth2 (0.9.2)
faraday (~> 0.8)
httpauth (~> 0.2)
jwt (~> 0.1.4)
multi_json (~> 1.0)
multi_xml (~> 0.5)
rack (~> 1.2)
parseconfig (1.0.4)
progressbar (0.21.0)
rack (1.5.2)
rainbow (1.99.1)
rake (10.1.1)
rdoc (4.1.0)
json (~> 1.4)
rest-client (1.6.7)
mime-types (>= 1.16)
rspec (2.14.1)
rspec-core (~> 2.14.0)
rspec-expectations (~> 2.14.0)
rspec-mocks (~> 2.14.0)
rspec-core (2.14.7)
rspec-expectations (2.14.4)
diff-lcs (>= 1.1.3, < 2.0)
rspec-mocks (2.14.4)
shoulda (3.5.0)
shoulda-context (~> 1.0, >= 1.0.1)
shoulda-matchers (>= 1.4.1, < 3.0)
shoulda-context (1.1.6)
shoulda-matchers (2.4.0)
activesupport (>= 3.0.0)
simplecov (0.8.2)
docile (~> 1.1.0)
multi_json
simplecov-html (~> 0.8.0)
simplecov-html (0.8.0)
streamio-ffmpeg (1.0.0)
term-ansicolor (1.2.2)
tins (~> 0.8)
thor (0.18.1)
thread_safe (0.1.3)
atomic
tins (0.13.1)
tzinfo (0.3.38)
unf (0.1.3)
unf_ext
unf_ext (0.0.6)
viddl-rb (0.79)
mechanize
nokogiri
progressbar
webrobots (0.1.1)
yard (0.8.7.3)
PLATFORMS
ruby
DEPENDENCIES
bundler (~> 1.0)
coveralls
dir
fileutils2
gem-release
gli
highline
jeweler (~> 2.0.0)
parseconfig
rainbow
rdoc (~> 4.1.0)
rspec
shoulda
simplecov
streamio-ffmpeg
viddl-rb
yard
I searched inside Stackoverflow and found mostly the answer to make a bundle install or remove the lock and bundle install again.
Also i tried out to use bundle install -deployment but that one uses all dependencies, and my *.gem is ~60M big (by using rake release).
Is there a better solution?
I've found the solution. The problem was, that i have overwritten the install section of .travis.yml. So bundle install aren't executed and it doesn't found it.
So the fix:
from
install:
- sudo apt-get install ubuntu-restricted-extras ffmpeg
to
before_install:
- sudo apt-get install ubuntu-restricted-extras ffmpeg

Resources