Назад | Перейти на главную страницу

Запустить марионетку без перезаписи моих драгоценных камней при установке RVM

У меня есть марионеточная установка, содержащая марионеточного мастера и пару узлов - это работает как задумано.

Однако на последнем узле, над которым я работаю, мне нужно установить rvm / ruby ​​+ nginx / пассажира. Это делается с помощью этих марионеточных модулей

maestrodev-rvm (v1.13.1) марионетка-nginx (v0.6.0)

Все это установлено и работает - я могу выполнить установку пакета и подтвердить, что он установлен в правильный гемсет, и если я перейду в другую папку, я могу подтвердить, что список драгоценных камней не собирает драгоценные камни для этого набора.

Доступ к моему приложению также работает и дает ожидаемые результаты.

Пока все хорошо ... проблемы начнутся при следующем запуске марионетки - это приводит к поломке всех моих драгоценных камней с собственными расширениями. Я получаю сообщение об ошибке:

Message from application: incompatible library version - /usr/local/rvm/gems/ruby-2.3.1@robot/gems/http_parser.rb-0.6.0/lib/ruby_http_parser.so (LoadError)

При сравнении содержимого файла до / после запуска марионетки (с использованием md5sum) я получаю разные контрольные суммы.

Похоже, я получаю неожиданный результат при запуске

/opt/puppetlabs/puppet/bin/gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 2.2.5
  - RUBY VERSION: 2.1.9 (2016-03-30 patchlevel 490) [x86_64-linux]
  - INSTALLATION DIRECTORY: /usr/local/rvm/gems/ruby-2.3.1
  - RUBY EXECUTABLE: /opt/puppetlabs/puppet/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/local/rvm/gems/ruby-2.3.1/bin
  - SPEC CACHE DIRECTORY: /root/.gem/specs
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /usr/local/rvm/gems/ruby-2.3.1
     - /usr/local/rvm/gems/ruby-2.3.1@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /usr/local/rvm/gems/ruby-2.3.1/bin
     - /usr/local/rvm/gems/ruby-2.3.1@global/bin
     - /usr/local/rvm/rubies/ruby-2.3.1/bin
     - /usr/local/sbin
     - /usr/local/bin
     - /usr/sbin
     - /usr/bin
     - /sbin
     - /bin
     - /opt/puppetlabs/bin
     - /usr/local/rvm/bin

Как так случилось, что GEM PATHS указывают на Ruby-2.3.1? Как я могу контролировать это значение при использовании рубина в комплекте с марионеткой? Я смог найти конфигурацию для изменения пути к гемам только в документации по серверу марионеток.