Ich muss den JSON-Edelstein installieren, um meine App zu starten, aber ich erhalte die Fehlermeldung, wenn ich versuche, den Json-Edelstein zu installieren. Kann mir jemand helfen? Ich verwende Rails 2.2.2 und Edelsteine 1.3.1.
Arions-macbook-pro:.ssh arion$ Sudo gem install json
Password:
Sorry, try again.
Password:
Building native extensions. This could take a while...
ERROR: Error installing json:
ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/Ruby extconf.rb install json
can't find header files for Ruby.
Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/json-1.1.4 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/json-1.1.4/ext/json/ext/parser/gem_make.out
Mit Mavericks können Sie dieses Problem lösen, indem Sie die Xcode-Befehlszeilen-Tools von der Befehlszeile aus wie folgt installieren:
xcode-select --install
Update: Vergessen Sie nicht, die Lizenzvereinbarung nach der Installation oder dem Update zu akzeptieren:
Sudo xcodebuild -license
Ihnen fehlen die Ruby-Entwicklungsheader. Um diese auf einem Betriebssystem wie Ubuntu zu installieren, sollten Sie Folgendes verwenden:
aptitude install Ruby1.8-dev
Wenn Sie dieses Problem haben:
ERROR: Error installing json:
ERROR: Failed to build gem native extension.
wenn Sie einen Mac mit OS X (getestet mit 10.8.1 Mountain Lion) verwenden, müssen Sie Xcode aus dem Mac App Store herunterladen (oder von developer.Apple.com, wenn Sie einen Dev-Account haben. Es ist kostenlos und Sie können es.) ein DMG-Installationsprogramm herunterladen)
Die neuesten Xcode-Versionen (ich verwende Xcode 4.4.1) enthalten KEINE Befehlszeilen-Tools. Nun müssen Sie dieses zusätzliche Paket in Xcode installieren. Wenn Sie fertig sind, ist Ihr Problem behoben.
Öffnen Sie dazu Xcode und gehen Sie zu Voreinstellungen> Downloads> Komponenten. Installieren Sie "Command Line Tools". Sie sind fertig. Jetzt können Sie den json Ruby-Edelstein installieren.
Die Ruby-Header werden nicht mit der Basis-Ruby-Installation unter Mac OS X installiert. Diese sind auf der Mac OS X-Installations-CD 2 durch Installieren der XCode-Tools zu finden.
Einmal installiert, war alles gut!
UPDATEAb mindestens OS X 10.7.3 ist dies kein Problem mehr, es "funktioniert einfach"
MacBook-Pro:tmp$ Sudo gem install json
Password:
Building native extensions. This could take a while...
Successfully installed json-1.6.5
1 gem installed
Installing ri documentation for json-1.6.5...
Installing RDoc documentation for json-1.6.5...
MacBook-Pro:tmp$ uname -a
Xcode-Befehlszeilentools installieren ... sollte dieses Problem beheben.
Es stellt sich heraus, dass bestimmte Edelsteine einige Ruby-Header-Dateien benötigen, um ordnungsgemäß installiert zu werden. Diese Header-Dateien nichtwerden mit Lion (OSX 10.7) ausgeliefert.
Es stellt sich auch heraus, Xcode 4 (neueste Version) auch nichtinstalliere diese Header-Dateien. Ich habe es versucht.
Lösung -Angenommen, Sie sind unter Mac OS X (Sie scheinen auf der Terminalausgabe basiert zu sein.) Damit es funktioniert, habe ich gcc mit einigen Entwicklertools von der folgenden Seite installiert
.pkg
und führen Sie das Installationsprogramm aus.Sie sollten die Edelsteine jetzt mit gem install
oder bundle install
installieren können.
OverheadWenn Sie sich Sorgen um den anderen Junk machen, der hiermit geliefert wird, finden Sie hier eine Zusammenfassung.
gcc
- nützlichmake
- nützlichclang
- nützlich für ObjectiveCEine einfache google Suche enthüllt dies:
Wenn beim Versuch, eine Erweiterung oder einen Edelstein zu erstellen, die Header-Dateien für die Ruby-Fehlermeldung nicht gefunden werden können, bedeutet dies, dass Ruby seine Header-Dateien nicht finden kann.
Header-Dateien werden unter Mac OS X nicht standardmäßig bereitgestellt. Sie müssen das Xcode Tools-Paket nach der Installation installieren. Sie finden es im Verzeichnis Optionale Installationen/Xcode-Tools auf der Leopard-DVD.
Wenn Sie Homebrew verwenden, führen Sie brew doctor
aus. Möglicherweise stellen Sie fest, dass die zum Kompilieren erforderlichen gcc-Bibliotheken veraltet sind und/oder fehlen.
Warning: No compiler found in /usr/bin!
Warning: Your Xcode (4.2) is outdated
checking for gcc... /Developer/usr/bin/llvm-gcc
checking whether the C compiler works... no
configure: error: in `/private/tmp/freexl-apNF/freexl-1.0.0d':
configure: error: C compiler cannot create executables
Für Lion- und Mountain Lion-Benutzer bietet Apple jetzt ein offizielles Command Line Tools für Xcode-Paket an, das Sie installieren können, ohne Xcode selbst installieren zu müssen! Sie können es von Apples Entwicklerseite https://developer.Apple.com/downloads/index.action herunterladen. Wenn Sie noch gcc-4.2 benötigen und Homebrew verwenden, können Sie es mit dem Apple-gcc42-Paket von homebrew/dupes installieren.