Details
-
Improvement
-
Status: Closed
-
Normal
-
Resolution: Won't Do
-
None
-
None
-
None
-
None
Description
As mentioned in SERVER-530, the gem library path for puppetserver is /opt/puppetlabs/server/data/puppetserver/jruby-gems. This path does does not vary along the axis of Ruby version.
In the future we may want to run multiple scripting containers with different versions of Ruby in each container. In this scenario, a global configuration setting with a single gem library path will likely be problematic because the motivation for running multiple versions of JRuby will likely be for compatibility and support. A single shared library path will likely be incompatible with one of the JRuby versions.
If we follow the MRI convention for Gem paths we could avoid this compatibility problem because the path encodes version information. For example, the Ruby $LOAD_PATH contains version information:
ruby -e 'puts $LOAD_PATH'
|
/opt/crossfader/versions/ruby/2.1.4/lib/ruby/site_ruby/2.1.0
|
/opt/crossfader/versions/ruby/2.1.4/lib/ruby/site_ruby/2.1.0/x86_64-darwin13.0
|
/opt/crossfader/versions/ruby/2.1.4/lib/ruby/site_ruby
|
/opt/crossfader/versions/ruby/2.1.4/lib/ruby/vendor_ruby/2.1.0
|
/opt/crossfader/versions/ruby/2.1.4/lib/ruby/vendor_ruby/2.1.0/x86_64-darwin13.0
|
/opt/crossfader/versions/ruby/2.1.4/lib/ruby/vendor_ruby
|
/opt/crossfader/versions/ruby/2.1.4/lib/ruby/2.1.0
|
/opt/crossfader/versions/ruby/2.1.4/lib/ruby/2.1.0/x86_64-darwin13.0
|
and the Gem path contains version information:
RubyGems Environment:
|
- RUBYGEMS VERSION: 2.2.2
|
- RUBY VERSION: 2.1.4 (2014-10-27 patchlevel 265) [x86_64-darwin13.0]
|
- INSTALLATION DIRECTORY: /opt/crossfader/versions/ruby/2.1.4/gemsets/crossfader/ruby/2.1.0
|
- RUBY EXECUTABLE: /opt/crossfader/versions/ruby/2.1.4/bin/ruby
|
- EXECUTABLE DIRECTORY: /opt/crossfader/versions/ruby/2.1.4/gemsets/crossfader/ruby/2.1.0/bin
|
- SPEC CACHE DIRECTORY: /Users/jeff/.gem/specs
|
- RUBYGEMS PLATFORMS:
|
- ruby
|
- x86_64-darwin-13
|
- GEM PATHS:
|
- /opt/crossfader/versions/ruby/2.1.4/gemsets/crossfader/ruby/2.1.0
|
- /opt/crossfader/versions/ruby/2.1.4/gemsets/global/ruby/2.1.0
|
- /opt/crossfader/versions/ruby/2.1.4/lib/ruby/gems/2.1.0
|
- /Users/jeff/.gem/ruby/2.1.0
|
- GEM CONFIGURATION:
|
- :update_sources => true
|
- :verbose => true
|
- :backtrace => false
|
- :bulk_threshold => 1000
|
- REMOTE SOURCES:
|
- https://rubygems.org/
|
- SHELL PATH:
|
- /usr/local/heroku/bin
|
- /opt/crossfader/bin
|
- /opt/crossfader/versions/ruby/2.1.4/gemsets/crossfader/ruby/2.1.0/bin
|
- /opt/crossfader/versions/ruby/2.1.4/gemsets/global/ruby/2.1.0/bin
|
- /opt/crossfader/versions/ruby/2.1.4/bin
|
- /opt/crossfader/versions/jdk/1.7.0_75/bin
|
- /usr/local/heroku/bin
|
- /usr/local/bin
|
- /usr/bin
|
- /bin
|
- /usr/sbin
|
- /sbin
|
- /opt/X11/bin
|
- /usr/local/MacGPG2/bin
|
Attachments
Issue Links
- relates to
-
SERVER-371 Change gem_home to /opt/puppetlabs/puppet/cache/jruby-gems
-
- Closed
-
-
SERVER-530 Merge up stable branch from 1.0.8 release commit to 2.1 branch
-
- Closed
-