我发现我在OSX 10.6.2上安装了两个版本的ruby如何卸载旧版本并确保一切正常,路径指向另一个?
bash-3.2$ /usr/local/bin/ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin9.7.0]
bash-3.2$ /usr/bin/ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [universal-darwin10.0]
bash-3.2$ $PATH
bash: /usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/libexec: No such file or directory
bash-3.2$ whereis ruby
/usr/bin/ruby
答案 0 :(得分:3)
/usr/bin
中的Ruby版本是系统安装的版本,应保留在原位。
可能会安全删除/usr/local/bin
中的版本。是使用包管理器安装的(即MacPorts,Homebrew?)。如果是这样,请使用包管理器将其删除。
如果您手动编译并安装它,可以尝试从/usr/local/bin
删除二进制文件,但您可能仍然有宝石和其他文件(最有可能是/usr/local/lib/ruby
。)
或者,您可以将它们留在原地并通过RVM管理您的Ruby环境:http://rvm.beginrescueend.com/
答案 1 :(得分:1)
您不必卸载旧版本。或者,您可以使用别名,并将其保存在OSX目录的〜/ .profile文件中。
alias ruby =“< path_to_ruby_version_that_you_want_to_use>”
那应该从你想要的正确目录中调用ruby。
或者你可以使用符号链接,就像这篇帖子在这里建议How to uninstall Ruby from /usr/local?一样。希望它有所帮助!
答案 2 :(得分:1)
您应该使用which ruby
找到您正在使用的Ruby,而不是whereis ruby
。我的whereis ruby
输出/usr/bin/ruby
,但which ruby
给出/Users/BinaryMuse/.rvm/rubies/ruby-1.9.2-p136/bin/ruby
,因为我使用RVM管理我的Ruby版本。由于/usr/local/bin
是您PATH中的第一个,which ruby
可能会返回/usr/local/bin/ruby
,这似乎是您想要的。快速ruby -v
也可以证实这一点。
所有这一切,我建议使用RVM来管理Ruby的版本以及RVM调用gemsets的内容,允许您拥有可以一次使用一个宝石的“桶”。它是一个非常强大且非常有用的工具。