我有一个木偶设置包含一个木偶大师和几个节点 – 这是按预期工作。
但是 – 在我正在工作的最新节点上,我需要安装rvm / ruby + nginx / passenger。 这是使用这些傀儡模块完成的
maestrodev-rvm(v1.13.1)puppet-nginx(v0.6.0)
所有这一切都安装和工作 – 我可以做捆绑安装,并确认这是安装到正确的gemset,如果我去一个不同的文件夹,我可以确认gem列表不拾取这个gem的gem。
访问我的应用程序也可以工作,并产生预期的结果。
到目前为止这么好..问题开始下一次木偶运行 – 这导致所有我的gem与原生扩展打破。 我收到错误:
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)
在比较puppet运行前/后的文件内容(使用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的? 使用与puppet捆绑在一起的ruby时,如何控制这个值? 我只能findconfiguration来改变puppetserver文档中的gempath。