在 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< 之前
最佳答案
您需要编辑您的 PATH
环境变量以在 /usr/bin
之前查看 /usr/local/bin
。
参见 this answer了解详情。
最简单的是使用以下行编辑/创建 ~/.profile
:
export PATH=/usr/local/bin:$PATH
将那个目录添加到它首先查找的位置。(然后创建一个新的 shell,或者 source ~/.profile
重新运行其中的命令。)
编辑:如果 /usr/local/sbin
(PATH
中的第一项)有一个 ruby< 的符号链接(symbolic link)
指向 /usr/bin/ruby
,你应该删除这个文件,或者创建一个新的符号链接(symbolic link),例如
$ 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
关于ruby - 手动安装了 Ruby 1.9.3,但 ruby -v 显示没有这样的文件或目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22482538/