Search code examples
ruby-on-railsrubypuppetrbenv

librarian-puppet, rbenv, unresolved specs during Gem::Specification.reset


I'm trying to use librarian-puppet as part of the process of setting up Vagrant in a project. When I run librarian-puppet init in a temporary directory, it's able to create the Puppetfile just fine.

However, when I try to run it inside the project, I get the following:

WARN: Unresolved specs during Gem::Specification.reset:
      highline (>= 0)
      activemodel (< 4.2, >= 3.0.0)
      activesupport (< 4.2, >= 3.0.0)
      faraday (< 1.0, >= 0.8)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
/home/sean/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/puppet_forge-1.0.3/lib/puppet_forge.rb:7:in `require': cannot load such file -- puppet_forge/version (LoadError)
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/puppet_forge-1.0.3/lib/puppet_forge.rb:7:in `<top (required)>'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/librarian-puppet-1.1.3/lib/librarian/puppet/source/forge/repo_v3.rb:2:in `<top (required)>'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/librarian-puppet-1.1.3/lib/librarian/puppet/source/forge.rb:4:in `<top (required)>'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/librarian-puppet-1.1.3/lib/librarian/puppet/source.rb:4:in `<top (required)>'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/librarian-puppet-1.1.3/lib/librarian/puppet/dsl.rb:3:in `<top (required)>'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/librarian-puppet-1.1.3/lib/librarian/puppet/environment.rb:2:in `<top (required)>'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/librarian-puppet-1.1.3/lib/librarian/puppet/extension.rb:1:in `<top (required)>'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/librarian-puppet-1.1.3/lib/librarian/puppet.rb:4:in `<top (required)>'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/librarian-puppet-1.1.3/lib/librarian/puppet/cli.rb:4:in `<top (required)>'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/librarian-puppet-1.1.3/bin/librarian-puppet:6:in `<top (required)>'
        from /home/sean/.rbenv/versions/2.1.2/bin/librarian-puppet:23:in `load'
        from /home/sean/.rbenv/versions/2.1.2/bin/librarian-puppet:23:in `<main>'
        from /home/sean/.rbenv/versions/2.1.2/bin/ruby_executable_hooks:15:in `eval'
        from /home/sean/.rbenv/versions/2.1.2/bin/ruby_executable_hooks:15:in `<main>'

I've tried the solutions in this question, as well as a bunch of other things ( re-installing the ruby version, as well as the gems, removing the Guardfile, rbenv rehash, running 'gem cleanup' )

Right now, it seems like rbenv is trying to use the project's gemset instead of the globally installed ones. Is there a way to have rbenv run the command and ignore the project gems?

Versions

  • rbenv 0.4.0-98-g13a474c
  • Ruby 2.1.2 ( installed via ruby-build in rbenv )
  • librarian-puppet 1.1.3
  • puppet 3.6.2

Solution

  • Got around this by just not using librarian-puppet any more. Also split all the Puppet stuff off into it's own repo because we moved to a Puppet master setup instead of solo Puppet.