Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;哪个红宝石;指向一个不存在的目录,如何使它指向与";相同的目录;“ruby”在哪里;?_Ruby_Bash_Macos_Terminal_Path - Fatal编程技术网

&引用;哪个红宝石;指向一个不存在的目录,如何使它指向与";相同的目录;“ruby”在哪里;?

&引用;哪个红宝石;指向一个不存在的目录,如何使它指向与";相同的目录;“ruby”在哪里;?,ruby,bash,macos,terminal,path,Ruby,Bash,Macos,Terminal,Path,我正在运行10.21.1的MacBook上使用bash shell in终端 当我键入命令which ruby时,我得到的结果是/opt/local/bin/ruby,它已经不存在了。几年前我的Ruby环境一团糟,现在我想从头开始,所以我删除了额外的版本 但是,当我键入where is ruby时,我会得到/usr/bin/ruby的结果,这是ruby on OSX的默认目录 /opt/local/bin/ruby不在/etc/path中,但/usr/bin/ruby在 我如何让他们指向同一个地

我正在运行10.21.1的MacBook上使用bash shell in终端

当我键入命令
which ruby
时,我得到的结果是
/opt/local/bin/ruby
,它已经不存在了。几年前我的Ruby环境一团糟,现在我想从头开始,所以我删除了额外的版本

但是,当我键入
where is ruby
时,我会得到
/usr/bin/ruby
的结果,这是ruby on OSX的默认目录

/opt/local/bin/ruby
不在
/etc/path
中,但
/usr/bin/ruby

我如何让他们指向同一个地方?安装一个版本管理器并让它为我工作是否更好

在进行了更多的探索,并试图确定它是否真的是有哈希的东西之后,我认为它不是

查看~/.bashrc,它有以下行:

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
和~/.bashprofile具有:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
这就是为什么
echo$PATH
包含
/opt/local/bin
并且可以安全地删除它的原因吗?

如果“哪个ruby”返回了一个过时的位置,那可能是因为您将它别名为
类型,并且因为信息只存在于shell的哈希中。你可以用这个来澄清

hash -r

whereis
程序不使用散列信息,但主要依赖于
$PATH
(删除过时信息后,bash将给出一致的结果)。

这可能对其他人没有帮助,但我仍然安装了MacPorts,它也在使用opt/local目录,我必须清理它以使所有内容都正确无误。

Hmm,我无法让它实际工作,我也不知道如何获得有用的谷歌搜索。当我刚刚键入
散列
时,我得到了
/usr/bin/which
/usr/bin/where is
作为我的点击,如果这更能提供信息的话?