Rootless 10.11: Ruby Gem Executables

Hi,


This is more of a heads-up for anybody concerned with installing executables via Ruby Gems...


El Capitan has changed the Gem environment so that executables are no longer placed in `/usr/bin` -- as was the default in legacy OS X.


bash-3.2# gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 2.0.14
  - RUBY VERSION: 2.0.0 (2015-04-13 patchlevel 645) [universal.x86_64-darwin15]
  - INSTALLATION DIRECTORY: /Library/Ruby/Gems/2.0.0
  - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
  - EXECUTABLE DIRECTORY: /Library/Ruby/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-darwin-15
  - GEM PATHS:
     - /Library/Ruby/Gems/2.0.0
     - /Users/foo/.gem/ruby/2.0.0
     - /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/gems/2.0.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/

As you can see, the new path being used for executables is `/Library/Ruby/bin`

The most likely reason for this is `rootless`, but the overall effect is that executables installed using Ruby gems will no longer be in the user's default $PATH.

This has ripple effects for admins and devs using tools like `bundler`, `pry`, `puppet`, `facter`, etc without Ruby installation managers like RVM and Rbenv.

I've filed bug #21301063 on this.

Any outcome on this? What workaround are you using?

I've got the current beta 5 installed and somehow my executables are still placed to /usr/bin. I had to disable Rootless to install new gems.

Rootless 10.11: Ruby Gem Executables
 
 
Q