Skip to content

Commit 6b330da

Browse files
chris1984claude
authored andcommitted
Fix puppet gem conflict when installing puppet-strings
puppet-strings 5.0.0 (released 2025-06-09) added puppet >= 8.0.0 as a runtime dependency. The Ansible gem module defaults user_install to true, so `gem install puppet-strings` now pulls the puppet gem into /root/.local/share/gem/, creating a second puppet installation alongside the puppet-agent package at /opt/puppetlabs/. When /opt/puppetlabs/bin/puppet runs, Ruby loads both, hitting a "superclass mismatch for class Uniquefile" fatal error that breaks all subsequent puppet commands in the playbook. Setting user_install: false installs into the puppetlabs gem path (/opt/puppetlabs/puppet/lib/ruby/gems/) where the bundled puppet already satisfies the dependency, avoiding the duplicate. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 006c52b commit 6b330da

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

  • roles/foreman_installer_devel_scenario/tasks

roles/foreman_installer_devel_scenario/tasks/main.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
gem:
5757
name: puppet-strings
5858
executable: /opt/puppetlabs/puppet/bin/gem
59+
user_install: false
5960

6061
- name: 'Install puppet/rhsm puppet module'
6162
command: "/opt/puppetlabs/bin/puppet module install puppet-rhsm --target-dir {{ foreman_installer_devel_scenario_modules }}"

0 commit comments

Comments
 (0)