I recently compiled Ruby Enterprise Edition (REE) on an Ubuntu 8.04 server.

I would like to update my PATH to ensure this new version of Ruby (found in /opt/ruby_ee/bin) supersedes the older version in /usr/local/bin. (I still want the old version around, though.)

I would like these PATH changes to affect all users and crontabs.

Attempted Solution #1:

The REE documentation recommends placing the REE bin folder at the beginning of the global PATH in /etc/environment. I altered the PATH in this file to read:


This did not affect my PATH at all.

Attempted Solution #2:

Next I followed these instructions and updated the PATH setting in /etc/login.defs and /etc/crontab. (I did not change /etc/sudoers.)

This didn't affect my PATH either, even after logging out and rebooting the server.

Other information:

  • I seem to be having the same problem described here.
  • I'm testing using the commands "echo $PATH" and "ruby -v".
  • My shell is bash. My .bashrc doesn't override my PATH.
  • Yes, I have heard of the Ruby Version Manager project. ;)

Have you tried altering the default bashrc? This should be located in either /etc/bashrc or /etc/bash.bashrc (I think it's the second one in Ubuntu). Then in your home directory, make sure your .bash_profile includes:

if [ -f /etc/bash.bashrc ]; then
    . /etc/bash.bashrc

This will make sure that the variables defined system-wide are read into the user's shell. This if-statement should be included by default in the .bash_profile created when you adduser (I know it is in RHEL).

  • Adding PATH="/opt/ruby_ee/bin:$PATH" to /etc/bash.bashrc did the trick! – Wally Glutton Mar 6 '11 at 3:53

Just to be clear, /etc/environment isn't loaded until you open a new shell / log in again.
Did you log-off and on?

  • I'm ssh'ing into the server. I have logged in and out a few times. I even restarted the server. :) – Wally Glutton Mar 6 '11 at 3:47
  • `/etc/environment isn't read by the shell. – Dennis Williamson Mar 6 '11 at 5:22
  • According to the Ubuntu help pages, it is. help.ubuntu.com/community/EnvironmentVariables – Bart De Vos Mar 6 '11 at 9:28
  • This was the confusing part for me, the fact that the Ubuntu docs claim that /etc/environment is a root PATH source. Also, the fix I link to in the second attempted solution shows that changing this file works for some Ubuntu users. – Wally Glutton Mar 6 '11 at 18:19

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.