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

  1. 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
    
  2. 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

  3. When trying to run your script as root, be sure to use rvmsudo ./yourscript.rb instead of sudo ./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?