I have a puppet module project that fails when trying to update Gems, although it works in some computers. The Gems are used for the spec tests of the module.
Here's the command I run and the output:
X:\puppet-module-rems>gem install -g Gemfile -f
ERROR: While executing gem ... (Gem::UnsatisfiableDependencyError)
Unable to resolve dependency: user requested 'win32-service (= 0.8.7)'
The gem that it's trying to install/update is already in the system:
X:\puppet-module-rems>gem list -l
*** LOCAL GEMS ***
ast (2.3.0)
bigdecimal (1.2.4)
builder (3.2.2)
bundler (1.13.0.rc.2)
childprocess (0.5.9)
ci_reporter (2.0.0)
ci_reporter_rspec (1.0.0)
deep_merge (1.0.1)
diff-lcs (1.2.5)
facter (2.4.6 x64-mingw32)
ffi (1.9.14 x64-mingw32, 1.9.6 x64-mingw32)
ffi-win32-extensions (1.0.3)
hiera (1.3.4)
hiera-eyaml (2.1.0)
highline (1.6.21)
io-console (0.4.3, 0.4.2)
json (1.8.1)
json_pure (2.0.2)
metaclass (0.0.4)
minitar (0.5.4)
minitest (4.7.5)
mocha (1.1.0)
multi_json (1.12.1)
multi_test (0.1.2)
parser (2.3.1.2)
powerpack (0.1.1)
psych (2.0.5)
ptools (1.3.3 universal-mingw32)
puppet (3.8.1 x64-mingw32)
puppet-lint (2.0.2)
puppet-syntax (2.1.0)
puppetlabs_spec_helper (1.1.1)
rainbow (2.1.0)
rake (10.1.0)
rdoc (4.1.0)
rspec (3.5.0, 3.5.0.beta2)
rspec-core (3.5.2, 3.5.0.beta2)
rspec-expectations (3.5.0, 3.5.0.beta2)
rspec-mocks (3.5.0, 3.5.0.beta2)
rspec-puppet (2.4.0, 2.3.2)
rspec-support (3.5.0, 3.5.0.beta2)
rubocop (0.42.0)
ruby-progressbar (1.8.1)
stomp (1.3.3)
sys-admin (1.6.4)
test-unit (2.5.5, 2.1.7.0, 2.1.6.0, 2.1.5.0)
thread_order (1.1.0)
trollop (2.1.2)
unicode-display_width (1.1.0)
win32-dir (0.4.9)
win32-eventlog (0.6.6, 0.6.2)
win32-file (0.8.1)
win32-file-stat (1.5.5)
win32-process (0.7.5, 0.7.4)
win32-security (0.2.5)
win32-service (0.8.7, 0.8.6)
Here's the version of ruby I have:
X:\puppet-module-rems>ruby --version
ruby 2.1.7p400 (2015-08-18 revision 51632) [x64-mingw32]
EDITED #1
Here's the content of the Gemfile:
source 'https://rubygems.org'
puppetversion = ENV.key?('PUPPET_VERSION') ? "= #{ENV['PUPPET_VERSION']}" : ['3.8.1']
gem 'puppet', puppetversion
gem 'puppetlabs_spec_helper', '= 1.1.1'
gem 'puppet-lint', '>= 0.3.2'
gem 'facter', '>= 1.7.0'
gem 'ci_reporter_rspec'
gem 'win32-service', '= 0.8.7'
gem 'rake', '= 10.1.0'
gem 'rspec-core', '= 3.5.2'
gem 'rspec-expectations', '= 3.5.0'
gem 'rspec-mocks', '= 3.5.0'
gem 'rspec-puppet', '= 2.4.0'
gem 'rspec-support', '= 3.5.0'
So, after further research, I found that the problem was not related to my code, files or configuration but with a problem with Rubygems.
Bottomline, I had to follow this link and manually update the certificate.
It looks like ruby wasn't able to connect to the server to check for dependencies of the gems I was requiring.