How to get /usr/bin/env ruby to point to the correct ruby environment?
/usr/bin/env ruby
should be pointing to the RVM ruby.
But lets check your setup
-
Check the contents of your
~/.profile
, it should contain something like these 2 lines:export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # This loads RVM
-
Second, check your installed ruby version:
rvm list
this should output something like the following:
rvm rubies =* ruby-1.9.3-p286 [ x86_64 ] # => - current # =* - current && default # * - default
if not, try running
rvm use 1.9.3 --default
When trying to run your script as root, be sure to use
rvmsudo ./yourscript.rb
instead ofsudo ./yourscript.rb
, this makes sure it sets the correct$PATH
.
Let me know the outcome of the above three steps.
I added #!/home/homeuser/.rvm/bin/ruby
instead of #!/usr/bin/env ruby
. So I guess this means that /usr/bin/env
points to the system ruby, and not any of the rvm rubies.
Problem solved, although it would be nice to be able to use #!/usr/bin/env ruby
so I can move my ruby script from Desktop to Laptop without having to change #!/home/homeuser/.rvm/bin/ruby
(slightly different path on my desktop due to different user name). Maybe a symbolic link?