I have succefully configured RVM to use Ruby 1.9.2 and everything is fine. However when I’m trying to run Ruby using
sudo it says it cannot find RVM or Ruby:
$ ruby -v ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux] $ sudo ruby -v [sudo] password for administrator: sudo: ruby: command not found
Is that correct behavior or is my RVM misconfigured? Perhaps I should be using the system wide install?
rvmsudo command instead of
Taking @calas’ answer one step further, add this to your
This avoids the requirement of having to remember to change
rvmsudo for every command (particularly annoying for copy/pasted commands).
Sudo is resetting your PATH. rvm works by modifying your PATH environment variable so that the ruby you’re using is a particular one, probably in your ~/.rvm/rubies directory. When you ruby ruby with sudo, sudo is not using that modified PATH, and so it will not find your rvm ruby. See this question for workarounds: sudo changes PATH – why?
@calas’s answer is the answer. but If you can’t achieve your goal by using
rvmsudo, e.g. install the nginx using the command
passenger-install-nginx-module, please just change the owner of the related folder/path. e.g.
$ chown <your_username>:<your_group> /opt -R $ passenger-install-nginx-module