最近、Ubuntu8.04サーバーでRuby Enterprise Edition(REE)をコンパイルしました。
PATHを更新して、この新しいバージョンのRuby(/opt/Ruby_ee/bin
にあります)が/usr/local/bin
の古いバージョンよりも優先されるようにします。(まだ古いバージョンが必要です)でも周り。)
これらのPATHの変更がすべてのユーザーとcrontabに影響するようにしたいと思います。
解決策#1の試み:
REEのドキュメントでは、REEbinフォルダーを/etc/environment
のグローバルPATHの先頭に配置することを推奨しています。このファイルのPATHを次のように変更しました。
PATH="/opt/Ruby_ee/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
これは私のPATH
にはまったく影響しませんでした。
解決策#2を試みました:
次に、 これらの手順 に従い、/etc/login.defs
および/etc/crontab
のPATH設定を更新しました。 (私は/etc/sudoers
を変更しませんでした。)
ログアウトしてサーバーを再起動した後でも、これは私のPATH
にも影響しませんでした。
その他の情報:
echo $PATH
」と「Ruby -v
」を使用してテストしています。.bashrc
は私のPATHを上書きしません。デフォルトのbashrcを変更してみましたか?これは/ etc/bashrcまたは/etc/bash.bashrcのいずれかに配置する必要があります(Ubuntuでは2番目だと思います)。次に、ホームディレクトリで、.bash_profileに次のものが含まれていることを確認します。
if [ -f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
fi
これにより、システム全体で定義された変数がユーザーのシェルに確実に読み込まれます。このifステートメントは、adduser
のときに作成される.bash_profileにデフォルトで含まれている必要があります(RHELにあることはわかっています)。
ただ明確にします、 /etc/environment
は、新しいシェルを開くか、再度ログインするまでロードされません。
ログオフしてからオンにしましたか?