是否可以在不重新安装完整操作系统的情况下重新安装/修复 Mac OS X 的系统 ruby​​?

LBR*_*pid 18 ruby system-restore macos

是否可以?自从它损坏或其他原因以来,我每周至少遇到一次各种问题,尤其是自制软件。

如果可能的话,但从头开始是一个更好的主意,请告诉我。

小智 14

如果您使用Pacifist,则可以重新安装 Ruby。

  1. 插入您的 OS X DVD
  2. 运行和平主义者
  3. 选择“打开 Apple 安装光盘”
  4. 选择光盘
  5. 搜索“Ruby.framework”
  6. 右键单击并选择“安装到默认位置”

这将重新安装 Ruby,从 /usr/bin 设置符号链接以指向它,再次使用 Pacifist:

  1. 搜索“BSD.pkg 的内容”
  2. 打开:usr -> bin
  3. 选择您需要的链接和文件
    • 封顶
    • erb
    • 雪貂浏览器
    • 宝石
    • 基因
    • irb
    • 杂种轨道
    • 导轨
    • rb-keygen
    • 文件
    • 红布
    • 红宝石
    • 测试版
    • update_rubygems
  4. 右键单击并选择“安装到默认位置”

通常,如果您需要在终端中找出文件来自系统上的哪个安装程序:

$ pkgutil --file-info /usr/bin/ruby
volume: /
path: usr/bin/ruby

pkgid: com.apple.pkg.BSD
pkg-version: 10.5.0.1.1.1188305148
install-time: 1203610823
uid: 0
gid: 0
mode: 120755
Run Code Online (Sandbox Code Playgroud)

然后 pkgid 应该给你一个提示,然后你要么找到那个安装程序并再次运行它,要么使用 Pacifist 有选择地执行它。

您还可以使用以下命令查看该包中的其他文件:

$ pkgutil --files com.apple.pkg.BSD
.
Library
Library/Documentation
Library/Documentation/Commands
Library/Documentation/Commands/grep
...
Run Code Online (Sandbox Code Playgroud)

我发现在 OS X 上处理 Ruby 的最佳方法是通过上述过程使您的系统进入默认状态。删除您手动编译的任何 MacPort、Fink 或版本。安装 RVM 并使用它来管理安装较新版本。


原来我已经删除了我的系统 Ruby 并且因此在我的 mac 上安装 pow ( http://pow.cx ) 时遇到了问题。所以我安装了和平主义者并遵循了这篇文章中的建议并重新开始营业。谢谢!


Dav*_* J. 3

根据我的理解(如果我错了,请纠正我),您不必重新安装所有 Mac OS X 来重新安装系统 Ruby。您可能知道,系统 Ruby 位于 /System/Library/Frameworks/Ruby.framework/ 中。如果该文件夹被删除或损坏,或者指向它的符号链接被删除或更改,您将无法安装有效的 System Ruby。

要修复,请尝试以下操作:

  1. 插入 Mac OS X 安装 DVD
  2. 打开 Mac OS X 安装 DVD 文件夹
  3. 打开可选安装文件夹
  4. 打开 Xcode 工具文件夹
  5. 打开 XcodeTools 包。这将启动 Xcode 工具安装程序。按照说明进行操作。

从http://developer.apple.com/technologies/xcode.html获取最新的 Xcode 也没什么坏处

完全披露:我已经完成了这些步骤。我很确定它恢复了 Ruby.framework,但它没有为我恢复符号链接(通常在 /usr/bin 中)。