&引用;哪个红宝石;指向一个不存在的目录,如何使它指向与";相同的目录;“ruby”在哪里;?
我正在运行10.21.1的MacBook上使用bash shell in终端 当我键入命令&引用;哪个红宝石;指向一个不存在的目录,如何使它指向与";相同的目录;“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在 我如何让他们指向同一个地
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
作为我的点击,如果这更能提供信息的话?