
Ich versuche, meine erste Ruby-on-Rails-App mithilfe der folgenden Anleitung zu erstellen (http://ruby.railstutorial.org/chapters/a-demo-app#code-demo_gemfile_sqlite_version_redux) und bin auf einige Hindernisse gestoßen. Das erste sind Fehler beim Upgrade auf die neueste Rails-Version 3.2.8.
bash-3.2$ gem install rails
Building native extensions. This could take a while...
ERROR: Error installing rails:
ERROR: Failed to build gem native extension.
/Users/davidmolina/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb
creating Makefile
make
compiling generator.c
make: /usr/bin/gcc-4.2: No such file or directory
make: *** [generator.o] Error 1
Gem files will remain installed in /Users/davidmolina/.rvm/gems/ruby-1.9.3-p194/gems/json-1.7.5 for inspection.
Results logged to /Users/davidmolina/.rvm/gems/ruby-1.9.3-p194/gems/json-1.7.5/ext/json/ext/generator/gem_make.out
Auch beim Versuch, die Installation über die Rails-App durchzuführen:
$ gem install rails
Building native extensions. This could take a while...
ERROR: Error installing rails:
ERROR: Failed to build gem native extension.
/Users/davidmolina/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb
creating Makefile
make
compiling generator.c
make: /usr/bin/gcc-4.2: No such file or directory
make: *** [generator.o] Error 1
Gem files will remain installed in /Users/davidmolina/.rvm/gems/ruby-1.9.3-p194/gems/json-1.7.5 for inspection.
Results logged to /Users/davidmolina/.rvm/gems/ruby-1.9.3-p194/gems/json-1.7.5/ext/json/ext/generator/gem_make.out
Beim Versuch einer Bundle-Installation:
$ bundle install
Could not locate Gemfile
Hintergrunddetails: Mac OS X Version 10.8.2 Ruby 1.9.3 Rails 2.3.4
Ich frage mich, ob ein direkter Einzeiler oder ein Juwel fehlt?
bearbeiten:sudo ln -s /usr/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2 Führen Sie dann „bundle update rails“ aus. Rails 3.2.8 sollte jetzt laufen. Danke an @peterwongpp für den Beitrag (http://peterwongpp.com/posts/missing-gcc-4-2-on-mountain-lion).
Antwort1
Es sucht nach einem Programm namens GCC, das aber nicht gefunden wird. Dabei handelt es sich um einen C-Compiler. In vielen Ruby-Bibliotheken sind Teile in C geschrieben, entweder aus Geschwindigkeitsgründen oder als Schnittstelle zu vorhandenen C-Bibliotheken.
Ich glaube, dass die Installation von XCode dieses Problem beheben könnte: Es ist zwar etwas mühsam, aber irgendwann müssten Sie es sowieso tun.