OSを完全に再インストールせずにMac OS Xのシステムルビーを再インストール/修正することは可能ですか?


15

出来ますか?特に自作の場合、破損または何かが発生したため、少なくとも週に1回はさまざまな問題に直面しています。

可能ですが、クリーンな状態から始める方が良いと思われる場合は、お知らせください。


私のPATH設定:gist.github.com/506481
LBRapid

パスから、/ opt / localエントリは、macportがあることを示唆しています。どのルビーは何を示していますか?
user151019

macportsをインストールしていますが、どちらのrubyを使用してもrvm ruby​​バージョンが表示されます。私が
遭遇

この記事に従ってください: superuser.com/questions/860819/…–
Michallis

回答:


3

システムのRubyを再インストールするためにMac OS Xをすべて再インストールする必要はありません。ご存知かもしれませんが、システムRubyは/System/Library/Frameworks/Ruby.framework/にあります。そのフォルダーが削除または破損している場合、またはそのフォルダーを指すシンボリックリンクが削除または変更されている場合、システムRubyのインストールは機能しません。

修正するには、これを試してください:

  1. Mac OS XインストールDVDを挿入します
  2. Mac OS XインストールDVDフォルダーを開きます
  3. オプションのインストールフォルダを開きます
  4. Xcode Toolsフォルダーを開きます
  5. XcodeToolsパッケージを開きます。これにより、Xcode Tools Installerが起動します。指示に従ってください。

また、http: //developer.apple.com/technologies/xcode.htmlから最新のXcodeを入手しても問題ありません。

完全な開示:これらの手順を実行しました。Ruby.frameworkを復元すると確信していますが、シンボリックリンク(通常は/ usr / bin内)は復元していません。


この解決策は非常に優れており、私はそれに従わなかったが、最終的に同僚から提案された。最終的には、ソースから/ usr / localにruby 1.8.7を再インストールし、homebrewが必要な場所にシンボリックリンクしました。来月新しいコンピューターを入手するまで、rvmとhomebrewが動作する必要がありました。だからこれでやる:)あなたの応答をありがとう!
LBRapid

1
AppStoreにインストールされたバンドルを使用してYosemiteのこれを更新してください
rraallvv

@rraallvvどういう意味かわかりません。上記の手順がうまくいかない場合は、(a)より具体的にするか、(b)うまくいったことを示す新しい回答を作成するか、(c)この質問を参照して新しい質問を作成することをお勧めします。
デビッドJ.

詳細を含む新しい質問を作成しました。
rraallvv

13

Pacifistを使用する場合は、Rubyを再インストールするだけで可能です。

  1. OS X DVDを挿入します
  2. Pacifistを実行する
  3. 「Appleインストールディスクを開く」を選択します
  4. ディスクを選択
  5. 「Ruby.framework」を検索
  6. 右クリックして、「デフォルトの場所にインストール」を選択します

これにより、Rubyが再インストールされ、/ usr / binからのシンボリックリンクがセットアップされて、Pacifistが再び使用されるようになります。

  1. 「BSD.pkgの内容」を検索
  2. 開く:usr-> bin
  3. 必要なリンクとファイルを選択します
    • キャップ
    • する
    • エルブ
    • フェレットブラウザ
    • 宝石
    • gpgen
    • irb
    • mongrel_rails
    • レール
    • レーキ
    • rb-keygen
    • rdoc
    • 赤い布
    • ルビー
    • testrb
    • 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

pkgidがヒントを提供し、インストーラーを見つけて再度実行するか、Pacifistを使用して選択的に実行します。

また、次のコマンドを使用すると、そのパッケージに含まれる他のファイルを確認できます。

$ pkgutil --files com.apple.pkg.BSD
.
Library
Library/Documentation
Library/Documentation/Commands
Library/Documentation/Commands/grep
...

OS XでRubyを扱う最良の方法は、上記のプロセスでシステムをデフォルトの状態にすることです。MacPort、Fink、または手動でコンパイルしたバージョンを削除します。RVMをインストールし、それを使用して新しいバージョンのインストールを管理します。


システムRubyを削除したため、Macにpow(http://pow.cx)をインストールする際に問題が発生したことがわかりました。そこで、Pacifistをインストールし、この投稿のアドバイスに従ってビジネスに戻りました。ありがとう!


YosemiteにRuby.frameworkをインストールしようとすると、Pacifist(バージョン3.2.17)がスタックします
rraallvv

3

古い投稿ですが、ポートから自作に切り替えていたので...

自作の問題については、rvmをインストールしてシンボリックリンクを作成して解決しました。したがって、rvmがインストールされている場合は、次のように入力して開始できます。

which ruby

その出力で次のようにします:

ln -s /Users/username/.rvm/rubies/ruby-1.9.2-p290/bin/ruby /usr/bin/ruby


-1

IMO Homebrewhttp://brew.sh)は、OS Xに最適なパッケージマネージャーです。

Homebrewをインストールするには:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

それから

brew install ruby

できた


9
ルビーをインストールするには、...自作を経由して、それをインストールするにはルビーを使用
whirlwin
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.