web-dev-qa-db-ja.com

ヨセミテのアップグレードはRuby.hを壊しました

ヨセミテにアップグレードして以来、Ruby.hを含むものをビルドしようとすると、このエラーが発生します:

In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/Ruby-2.0.0/Ruby.h:33:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/Ruby-2.0.0/Ruby/ruby.h:24:10: fatal error: 'Ruby/config.h' file not found
#include "Ruby/config.h"
         ^
1 error generated.
make[1]: *** [objects/if_Ruby.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [first] Error 2

そして確かに、/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/Ruby-2.0.0/Ruby/config.hは実際にありません。

$ ls -laF /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/Ruby-2.0.0/Ruby/
total 72
drwxr-xr-x  21 root  wheel    714 Jul 29 21:56 ./
drwxr-xr-x   5 root  wheel    170 Jul 29 21:56 ../
drwxr-xr-x   7 root  wheel    238 Jul 29 21:56 backward/
-rw-r--r--   2 root  wheel   3360 Sep 21 15:25 debug.h
-rw-r--r--   2 root  wheel   5553 Sep 21 15:25 defines.h
-rw-r--r--   2 root  wheel    881 Sep 21 15:25 digest.h
-rw-r--r--   2 root  wheel   7628 Sep 21 15:25 dl.h
-rw-r--r--   2 root  wheel  14123 Sep 21 15:25 encoding.h
-rw-r--r--   2 root  wheel  32904 Sep 21 15:25 intern.h
-rw-r--r--   2 root  wheel   5869 Sep 21 15:25 io.h
-rw-r--r--   2 root  wheel   4522 Sep 21 15:25 missing.h
-rw-r--r--   2 root  wheel  37617 Sep 21 15:25 oniguruma.h
-rw-r--r--   2 root  wheel   1502 Sep 21 15:25 re.h
-rw-r--r--   2 root  wheel    890 Sep 21 15:25 regex.h
-rw-r--r--   2 root  wheel  49734 Sep 21 15:25 Ruby.h
-rw-r--r--   2 root  wheel   4651 Sep 21 15:25 st.h
-rw-r--r--   2 root  wheel    374 Sep 21 15:25 subst.h
-rw-r--r--   2 root  wheel   1102 Sep 21 15:25 thread.h
-rw-r--r--   2 root  wheel   2139 Sep 21 15:25 util.h
-rw-r--r--   2 root  wheel   1968 Sep 21 15:25 version.h
-rw-r--r--   2 root  wheel   1794 Sep 21 15:25 vm.h

誤ってファイルをインストールしましたか? Yosemiteは、破壊されたRubyヘッダーファイルセットとともに出荷されますか?

これを修正する最良の方法は何ですか?そこにソースコードを解凍して正しいヘッダーを取得できますか?

21
isaacs

これに関する1つのメモ:「OS X El Capitan」にアップグレードした後、この問題に遭遇しました。 'xcode-select --install'を実行してコマンドラインツールをインストールしました。その後、my Rubyビルド環境が再び機能し始めました。

18
Jesus Ruiz

Apple開発者サイト からXcodeをインストール済みの場合は、xcode-select --installは機能しません。Xcodeがすでにインストールされていると表示されるためです(XcodeにはCommandLineToolsがバンドルされています)。

私の場合、同じ場所から対応するCommandLineToolsをダウンロードして実行し、次に/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkgと実行します。

17
Dielson Sales
cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/Ruby-2.0.0/Ruby
Sudo ln -s ../universal-darwin15/Ruby/config.h ./config.h

ニコラスチパノフの回答を2014-10-18から更新。

16
John Chew

同じエラーが発生しましたが、「 Xcode-Xcode 6.1用のコマンドラインツール(OS X 10.10) をインストールしましたが、その後は正常にインストールされました。

12
Emil Stenström

Homebrewを使用する場合、brew install Rubyは高速な回避策です(Xcodeのインストールとは異なる新しいRubyインストールを取得します)。

6
rsenna

これを試して:

cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/Ruby-2.0.0/Ruby
Sudo ln -s ../universal-darwin13/Ruby/config.h ./config.h
4
Nicholas Tsi

Xcodeはどういうわけかアップグレードでめちゃくちゃになりました。

私はXcodeを開きました(他の方法では絶対に行いません)と、不足しているあらゆる種類のコンポーネントについて不満が出ました。だから私はそれを先に進めて自分自身で修正し、そして今やすべては順調です。

これを奇妙な可能性のある情報源として指摘するためのOPのコメントでCDubへの小道具。

1
isaacs

Mojave 10.14.6を実行しています。ここでの答えは私のために主題の問題を修正しました: https://stackoverflow.com/a/58084238/284651

ソリューション:

Sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install
Sudo xcodebuild -license accept
open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg 
1
watr

Xcode開発者ツールの正しいパスをポイントすることで修正されました。

前のエラー(Xcode.appではなくXcode711.appへのパスに注意してください)

/Applications/Xcode711.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/Ruby-2.0.0/Ruby/ruby.h:24:10:

ラン

Sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
0
Neo