You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I installed Ruby with Chruby but I am having issues with installing Foreman. I am getting the message:
[chat-stimulus] gem install foreman
WARNING: You don't have /Users/jem/.gem/ruby/2.6.0/bin in your PATH,
gem executables will not run.
Successfully installed foreman-0.87.2
1 gem installed
I put the output from my terminal into this gist. If you need more info, let me know and I will post.
What does which foreman return? Definitely looks like foremanwas installed, but rubygems is complaining that the .gem/ruby/2.6.0/bin directory ins't in PATH (2.6.0 is the Ruby ABI version for 2.6.6p146, but chruby uses the exact RUBY_VERSION string for the GEM_HOME).
I'm saw this as well, so can add more details on what I observed:
After installing foreman and seeing this warning, which foreman returns foreman not found.
which gem returned ~/.rubies/ruby-2.6.10/bin/gem
~/.gem/ruby/ contained 2 directories:
2.6.0 contained the foreman gem
2.6.10, which includes nothing but empty directories, except for cache/ which contains the cached foreman gem (?)
The difference for me was that I had installed using the --user-install flag (set via a previous .gemrc configuration I had of course forgotten about...)
chruby was correctly changing GEM_PATH and GEM_HOME, but these do not change the user_gemhome that gem uses internally for resolving user installed gems. As far as I can tell, that is always set to the ruby ABI version in ~/.gem/ruby, and I didn't find a separate environment var that allowed it to be overwritten.
To sum up:
Gem was installed with --user-install
This put the gem into ~/.gem/ruby/<RUBY-ABI-VERSION> instead of ~/.gem/ruby/<RUBY_VERSION>
Can debug this directly with gem env which clearly shows the 2 different paths being used.
chruby behaviour could potentially be modified to add both of these to the path automatically when setting a ruby version to use. This would allow packages installed either way (gem install or gem install --user-install) to work as expected.
I am having an issue with gem executables.
I installed Ruby with Chruby but I am having issues with installing Foreman. I am getting the message:
I put the output from my terminal into this gist. If you need more info, let me know and I will post.
https://gist.github.com/jemiller1963/25e45c4fe183cd9382a77f9073265fb7
Thanks!
The text was updated successfully, but these errors were encountered: