Beim Versuch, Rails unter OS X Lion mithilfe von RVM zu installieren, treten Probleme auf.
Bisher habe ich Folgendes getan:
- Installierte Mac OS X Lion Version 10.7 (Build 11A459e).
- Installierte XCode 4.1-Entwicklervorschau 5.
- Installierte RVM.
- Installierte eine 1.8.7-Version von Ruby über RVM mit dem Befehl
rvm install 1.8.7
. Hinweis: Ich muss 1.8.7 und nicht 1.9.2 verwenden. - Mit dem Befehl auf die Version 1.8.7 von Ruby umgestellt
rvm 1.8.7
. - Erstellt mit dem Befehl ein neues Gemset
rvm gemset create rails3
. - Mit dem Befehl zum neuen Gemset gewechselt
rvm use 1.8.7@rails3
. Um Rails zu installieren, habe ich den Befehl ausgeführt,
gem install rails
aber den folgenden Fehler erhalten:/Users/m/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/timeout.rb:60: [BUG] Segmentierungsfehler
Der gleiche Fehler tritt auf, wenn versucht wird, einen Gem-Befehl auszuführen, sodass ich nicht glaube, dass dies wirklich ein Problem mit Rails ist.
Nach den folgenden Links zu urteilen, scheine ich nicht die einzige Person zu sein, die dieses Problem hat:
http://twitter.com/#!/pingles/status/66261101351927809 und https://github.com/carlhuda/bundler/issues/1058
ruby-on-rails
ruby
macos
rvm
Michael Jerome
quelle
quelle
rvm info
und sehen Sie, was darin steht. Es könnte einige Hinweise enthalten.Antworten:
Behoben!
Die Antwort war tatsächlich auf einem der Links, die ich oben gepostet habe. Vor der Installation einer Version von Ruby (rvm install 1.8.7) musste ich "
export CC=/usr/bin/gcc-4.2
" ausführen . Damit lief alles reibungslos.Wenn Sie nicht
CC
dauerhaft exportiert haben möchten , können Sie dies tunCC=/usr/bin/gcc-4.2 rvm install 1.8.7
Wenn Sie Ruby 1.8.7 bereits installiert haben. Mach einfach
CC=/usr/bin/gcc-4.2 rvm reinstall 1.8.7
quelle
CC=/usr/bin/gcc-4.2 rvm install 1.8.7
alle eine Zeile, um CC für die rvm-Installation zu überschreiben..zshrc
Datei aufnehmen..rvmrc
also habe ichbash
für eine Weile zurückgeschaltet. Daher habe ich diese Zeile zu meiner hinzugefügt.bash_profile
.Wenn Sie Xcode 4.2 installiert haben, wird kein Nicht-LLVM-gcc mehr installiert, daher müssen Sie es hinzufügen. Aus irgendeinem Grund funktioniert ein Downgrade auf 4.1 nach der Installation von 4.2 nicht richtig (zumindest nicht für mich und andere, die ähnliche Probleme hatten).
Nach einigem Hin und Her hat das für mich endlich funktioniert:
Schließen Sie alle geöffneten Terminalfenster, öffnen Sie ein neues und
Dies funktionierte bei mir mit rvm 1.8.6, OS X 10.7.2 und gcc-4.2 Version 4.2.1 (Apple Build 5666).
Wenn Sie Xcode 4.1 bereits installiert haben, widerstehen Sie dem Drang, auf 4.2 zu aktualisieren, und Sie sollten in Ordnung sein.
quelle
Wenn das immer noch nicht funktioniert, fügen Sie --force hinzu. Das wird also:
CC=/usr/bin/gcc-4.2 rvm install ruby-1.8.7 --force
quelle
make clean
über die Befehlszeile im Installationsverzeichnis der geeignetere Befehl anstelle von--force
. Force ignoriert Fehler und Fehler sind etwas, auf das man achten muss. Also sei vorsichtig.Stellen Sie sicher, dass Sie 1.8.7 entfernen, wenn Sie es bereits installiert haben, bevor Sie "
export CC=/usr/bin/gcc-4.2
" verwenden, indem Sie "rvm remove 1.8.7
" ausführen.quelle
Ich hatte das gleiche Problem auf meinem System. Ich habe die Xcode-Befehlszeilentools von Apple installiert, die mit und ohne LLVM-Compiler geliefert werden.
Ruby 1.8.7 funktioniert nicht einmal mit einem LLVM-Compiler
CC=clang
, daher löst die Installation eines LLVM-freien gcc das Problem.Hier sind mehrere Optionen aufgeführt:
https://github.com/mxcl/homebrew/wiki/Custom-GCC-and-cross-compilers
Kurz gesagt, installieren Sie GCC v4.2 mit Homebrew :
und installieren Sie dann Ruby 1.8.7:
quelle
brew install https://raw.github.com/Homebrew/homebrew-dupes/master/apple-gcc42.rb
stattdessen.Anstelle von "
export CC=/usr/bin/gcc-4.2
" do "export CC=gcc
" (xCode 4.2.x sollte installiert sein).quelle
Überprüfen Sie, welche Version von gcc Ihnen gefällt:
Ich habe die Anweisungen hier befolgt: http://robots.thoughtbot.com/post/27985816073/the-hitchhikers-guide-to-riding-a-mountain-lion
Dann neu installieren:
Überprüfen Sie erneut, wie Ihr Pfad zu gcc lautet (für CC =):
(optional) Sie können dies in Ihrer .bashrc einstellen, zum Beispiel:
(optional) Entfernen Sie alle alten Versionen von Ruby
Dann:
oder wenn Sie CC in Ihrem Profil festgelegt haben
Beachten Sie die Flags bei der rvm-Installation. Ich hatte Probleme beim Überprüfen der Prüfsumme auf dem FTP-Server und einige Probleme mit tck und was nicht. Möglicherweise können Sie diese Flags weglassen.
Außerdem: Möglicherweise müssen Sie eine alte Version Ihres Gemset entfernen:
Dann
Hoffe das hilft.
quelle
Verwenden von Macport und Ruby-1.9.x Version. Ich habe erfolgreich Schienen mit Ruby Gem installiert.
quelle
Ich habe das gleiche Problem nur für arch x86_64 , wenn ich eine Zeile in meinem ~ / .rvmrc kommentiere
Öffnen Sie ein neues Terminal und versuchen Sie erneut, ruby-1.8.7 zu installieren
Es war erfolgreich.
quelle
Wenn Sie RVM in einem Entwicklungsworkflow verwenden, habe ich einen Fix in einer .rvmrc-Datei für OS X Lion hinzugefügt.
https://gist.github.com/1112962
(aktualisierter Dateiname)
quelle
Dies hat nichts mit RVM zu tun. Wenn Sie jedoch nach einer lokalen Entwicklungsumgebung für Lion suchen, sollten Sie RubyStack ausprobieren. Es handelt sich um ein kostenloses Open-Source-All-in-One-Installationsprogramm für Apache, MySQL, Ruby, Rails usw. Es muss nicht kompiliert werden und ist in sich geschlossen. Wenn es Ihnen nicht gefällt, können Sie einfach das Installationsverzeichnis entfernen und fertig. Haftungsausschluss: Ich bin einer der RubyStack-Entwickler :)
quelle
CC=/usr/bin/gcc-4.2 rvm install 1.8.7
hat bei mir nicht funktioniert, ich habe es benutztCC=/usr/bin/gcc rvm install 1.8.7
und es hat funktioniert (mit "welchegcc
" prüfen )quelle
Selbst mit all den anderen Vorschlägen auf dieser Seite bekam ich immer noch Segfaults und wurde frustriert, also sagte ich "Scheiß drauf!" und verwenden Sie den vom System bereitgestellten Ruby 1.8.7:
Sie müssen sudo verwenden, um Edelsteine zu installieren, müssen aber trotzdem weniger Kopfschmerzen haben.
quelle
Meine Lösung bestand darin, den Symlink / usr / bin / gcc im Terminal zu überschreiben. So habe ich es gemacht:
https://plus.google.com/101970693023462019144/posts/eYVLvMCqTmc
Dies hat nicht nur meine RVM-Installation behoben, sondern auch sichergestellt, dass die Installation von Gems mit nativen Erweiterungen (wie rmagick) funktioniert.
quelle