Ask Your Question

Revision history [back]

Installing puppet-lint to PE, error "Provider gem is not functional on this host"

I would like to install puppet-lint in my Puppet Enterprise 3.7 test environment on my laptop, using a freshly installed PE3.7 image from https://docs.puppetlabs.com/pe/latest/quick_start.html .

To install puppet-lint, I created a site::basic class, and I associated the class with a node group. That part seems to work. I added puppet-lint to this class with the following code:

[root@pe3 manifests]# pwd
/etc/puppetlabs/puppet/environments/production/modules/site/manifests
[root@pe3 manifests]# cat basic.pp 
class site::basic {

  package { 'puppet-lint':
    ensure   => '1.1.0',
    provider => 'gem',
  }

}
[root@pe3 manifests]#

But then, apparently gems are not available as a provider:

[root@pe3 manifests]# puppet agent --test
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Info: Caching catalog for pe3.example.org
Notice: hello, world! (notify)
Notice: /Stage[main]/Helloworld/Notify[hello, world! (notify)]/message: defined 'message' as 'hello, world! (notify)'
Error: /Package[puppet-lint]: Provider gem is not functional on this host
Notice: Finished catalog run in 13.35 seconds
[root@pe3 manifests]#

How can I make gem a valid provider?