在CentOS
上,我从tar文件中手动安装了Ruby 1.9.3
。我在./configure
make和make install期间没有收到任何错误。
"which ruby" outputs "/usr/local/bin/ruby"
"whereis ruby" outputs "ruby: /usr/lib/ruby /usr/lib64/ruby /usr/local/bin/ruby /usr/local/lib/ruby"
"ruby -v" outputs "-bash: /usr/bin/ruby: No such file or directory"
echo $PATH
输出/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/dell/srvadmin/bin:/opt/dell/srvadmin/sbin:/root/bin
所以/usr/local/bin
显示在/usr/bin
之前
答案 0 :(得分:2)
您需要修改PATH
环境变量,才能在/usr/local/bin
之前查看/usr/bin
。
有关详细信息,请参阅this answer。
最简单的方法是使用以下行编辑/创建~/.profile
:
export PATH=/usr/local/bin:$PATH
将该目录添加为它所查找的第一个目录。(然后创建一个新shell,或者source ~/.profile
重新运行其中的命令。)
修改:如果/usr/local/sbin
(PATH
中的第一项)的ruby
符号链接指向/usr/bin/ruby
,则应该{删除此文件,或创建新的符号链接,例如
$ cd /usr/local/sbin
$ sudo rm ruby
$ sudo ln -s /usr/local/bin/ruby
$ ls -l ruby
lrwxr-xr-x 1 root root 19 Mar 18 09:01 ruby -> /usr/local/bin/ruby