I have a role I'm testing that will install Redmine (www.redmine.org) on to a RHEL 7.8 machine. Redmine requires Ruby >= 2.3. So I'm installing Ruby 2.6.2 via the rhel-server-rhscl-7-rpms repository. If I log into the machine manually and check the Ruby version, its 2.6.2. However, when I connect via my Ansible playbook, Ruby is the default 2.0, so I can't get any of the Ruby Gems to install since the version is too old.
Here's the relevant plays/errors: The /etc/profile.d/enableruby26.sh, as installed by another role i wrote that installs Ruby 2.6.2 and uploads this script to /etc/profile.d: #!/bin/bash source scl_source enable rh-ruby26 Play: - name: Make sure to run the newer Ruby if necessary shell: source /etc/profile.d/enableruby26.sh when: ansible_os_family == 'RedHat' and ansible_distribution_major_version == '7' Errors: TASK [redmine : Verify Ruby version] *************************************************************************** changed: [role-test] TASK [redmine : Print Ruby version] **************************************************************************** ok: [role-test] => { "msg": "ruby 2.0.0p648 (2015-12-16) [x86_64-linux]" } TASK [redmine : Obtain gem path] ******************************************************************************* changed: [role-test] TASK [redmine : Print gem path] ******************************************************************************** ok: [role-test] => { "msg": "/bin/gem" } TASK [redmine : Install latest Bundler gem (RHEL 7)] *********************************************************** fatal: [role-test]: FAILED! => {"changed": false, "cmd": "/opt/rh/rh-ruby26/root/usr/bin/gem query --remote -n '^bundler$'", "msg": "/opt/rh/rh-ruby26/root/usr/bin/ruby: error while loading shared libraries: libruby.so.2.6: cannot open shared object file: No such file or directory", "rc": 127, "stderr": "/opt/rh/rh-ruby26/root/usr/bin/ruby: error while loading shared libraries: libruby.so.2.6: cannot open shared object file: No such file or directory\n", "stderr_lines": ["/opt/rh/rh-ruby26/root/usr/bin/ruby: error while loading shared libraries: libruby.so.2.6: cannot open shared object file: No such file or directory"], "stdout": "", "stdout_lines": []} So, how do I get the /etc/profile.d/enableruby26.sh to run and have its variables available within my Ansible playbook? Thanks, Harry -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to ansible-project+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/d5eff318-a054-4109-88ef-2a3ebffa0eb7%40googlegroups.com.