有谁知道如何卸载 MacRuby?我在使用 RubyCocoa 然后决定尝试 MacRuby,在安装 MacRuby 之后,RubyCocoa 已经停止工作。所以我想删除 MacRuby,但我找不到任何关于如何卸载它的文档。
6 回答
给定的答案不会删除所有内容。您仍将拥有 XCode 模板、示例和一些其他悬空符号链接:指向 rb_nibtool 和 macruby 手册页。
要清理它,您首先需要用于安装 MacRuby 的 .pkg 文件。这为您提供了可以删除的所有已安装文件的列表。我这样做了:
$ xar -xf macruby_nightly.pkg
$ lsbom macrubynightly.pkg/Bom # not a typo, the above archive contains this folder
如果有更好的方法来做到这一点,那就太好了......
有一种更简单的方法可以列出已安装包中的文件:
$ pkgutil --pkgs # list IDs of all installed packages
$ pkgutil --pkgs |grep -i ruby # get all related to ruby
$ pkgutil --files com.apple.macruby.macruby.MacRuby-0.pkg # show all files for MacRuby-0.8
如果您删除文件,请务必同时删除收据(/Library/Receipts):
$ sudo pkgutil --forget com.apple.macruby.macruby.MacRuby-0.pkg
如果您不删除收据,则以后重新安装可能会遇到问题(通常仅适用于同一软件包的先前版本)。
您还可以使用 pkgutil 删除所有文件:
$ sudo pkgutil --unlink com.apple.macruby.macruby.MacRuby-0.pkg
文档不是很好(至少对我来说),我有点害怕尝试它 - 看起来它想要过于激进地删除/取消链接它不“拥有”的东西(例如,它试图取消链接 /usr)。
最后,我确保 Time Machine 正常工作并运行了命令。它删除所有文件并留下所有空目录。这很愚蠢,但足够安全。我确信有人已经编写了一个脚本来将所有这些打包到一个安全操作中,但我只是手动清理了。
此外,“--unlink”并不意味着“--forget”,因此您还需要在之后运行它。
Dj2 是对的,卸载 MacRuby:
$ rm -rf /Library/Frameworks/MacRuby.framework
$ rm /usr/local/bin/mac*
$ rm /usr/local/bin/hotcocoa
然而,MacRuby 和 RubyCocoa 可以完美和谐地并存;)
我相信 MacRuby 的所有东西都安装在 /Library/Frameworks/MacRuby.framework 中。虽然我自己没有尝试过,但删除该目录应该会从系统中删除 MacRuby。
MacRuby 不应该与 RubyCocoa 交互以使其停止工作。可能是您系统上的其他东西在 MacRuby 安装的同时发生了变化。
这是来自 Matt Aimonetti 的“MacRuby:权威指南”(O'Reilly):
“MacRuby 不附带卸载程序。如果要从计算机中删除 MacRuby,请删除使用 mac 前缀且位于 /usr/local/bin/ 中的 MacRuby 二进制文件。然后删除 MacRuby 本身:/Library/框架/MacRuby.framework。”
整个卸载有一个要点:https ://gist.github.com/Watson1978/1927952 ,它工作得非常好!