Mam problemy podczas próby zainstalowania Railsów na OS X Lion przy użyciu RVM.
Do tej pory wykonałem następujące czynności:
- Zainstalowano system Mac OS X Lion w wersji 10.7 (kompilacja 11A459e).
- Zainstalowano XCode 4.1 Developer Preview 5.
- Zainstalowany RVM.
- Zainstalowano wersję 1.8.7 Rubiego za pośrednictwem RVM za pomocą polecenia
rvm install 1.8.7
. Uwaga: muszę używać wersji 1.8.7, a nie 1.9.2. - Przełączono do wersji 1.8.7 Rubiego za pomocą polecenia
rvm 1.8.7
. - Utworzono nowy zestaw kamieni za pomocą polecenia
rvm gemset create rails3
. - Przełączono na nowy zestaw kamieni za pomocą polecenia
rvm use 1.8.7@rails3
. Aby zainstalować Railsy, uruchomiłem polecenie,
gem install rails
ale otrzymałem następujący błąd:/Users/m/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/timeout.rb:60: [BUG] Błąd segmentacji
Ten sam błąd pojawia się przy próbie uruchomienia dowolnego polecenia gem, więc nie sądzę, że jest to naprawdę problem z Railsami.
Sądząc po poniższych linkach, nie wydaje się, że jestem jedyną osobą, która ma ten problem:
http://twitter.com/#!/pingles/status/66261101351927809 i https://github.com/carlhuda/bundler/issues/1058
ruby-on-rails
ruby
macos
rvm
Michael Jerome
źródło
źródło
rvm info
Zapoznaj się z wynikami i zobacz, co mówi. Może zawierać pewne wskazówki.Odpowiedzi:
Naprawione!
Odpowiedź znajdowała się w jednym z linków, które zamieściłem powyżej. Przed zainstalowaniem wersji ruby (rvm install 1.8.7) musiałem uruchomić "
export CC=/usr/bin/gcc-4.2
". Mając to na swoim miejscu, wszystko działało gładko.Jeśli nie chcesz
CC
wyeksportować na stałe, możesz to zrobićCC=/usr/bin/gcc-4.2 rvm install 1.8.7
Jeśli masz już zainstalowany Ruby 1.8.7. Po prostu zrób
CC=/usr/bin/gcc-4.2 rvm reinstall 1.8.7
źródło
CC=/usr/bin/gcc-4.2 rvm install 1.8.7
jednego wiersza, aby po prostu zastąpić CC podczas instalacji rvm..zshrc
pliku..rvmrc
skryptów zsh , więc na chwilę przełączyłem się z powrotembash
na. Dlatego dodałem tę linię do mojego.bash_profile
.Jeśli zainstalowałeś Xcode 4.2, w rzeczywistości nie instaluje on już gcc innego niż LLVM, więc musisz go dodać. Z jakiegoś powodu obniżenie wersji do 4.1 po zainstalowaniu 4.2 nie działa poprawnie (przynajmniej nie u mnie i inni mieli podobne problemy).
Po sporej ilości thrashu wreszcie zadziałało:
Zamknij wszystkie otwarte okna terminala, otwórz nowe i
rvm remove ree export CC=/usr/bin/gcc-4.2 rvm install ree
To działało dla mnie z rvm 1.8.6, OS X 10.7.2 i gcc-4.2 w wersji 4.2.1 (kompilacja Apple 5666).
Jeśli masz już zainstalowany Xcode 4.1, oprzyj się pokusie aktualizacji do wersji 4.2 i wszystko powinno być w porządku.
źródło
Jeśli to nadal nie działa, dodaj - siła. Więc to wygląda:
CC=/usr/bin/gcc-4.2 rvm install ruby-1.8.7 --force
źródło
make clean
polecenia z wiersza poleceń w katalogu instalacyjnym jest bardziej odpowiednim poleceniem zamiast--force
. Siła ignoruje błędy, a błędy są czymś, na co należy zwrócić uwagę. Więc uważaj.Upewnij się, że usunąłeś 1.8.7, jeśli już go zainstalowałeś przed użyciem "
export CC=/usr/bin/gcc-4.2
" wykonując "rvm remove 1.8.7
"źródło
Miałem ten sam problem w moim systemie. Zainstalowałem narzędzia wiersza poleceń Xcode firmy Apple, które są dostarczane z kompilatorem LLVM i bez bezpłatnego LLVM.
Ruby 1.8.7 nie będzie działał z kompilatorem LLVM nawet z nim
CC=clang
, więc zainstalowanie gcc wolnego od LLVM rozwiązuje problem.Tutaj znajduje się wiele opcji:
https://github.com/mxcl/homebrew/wiki/Custom-GCC-and-cross-compilers
Krótko mówiąc, zainstaluj GCC v4.2 z Homebrew :
brew install https://raw.github.com/Homebrew/homebrew-dupes/master/apple-gcc42.rb
a następnie zainstaluj ruby 1.8.7:
CC=gcc-4.2 rvm install 1.8.7
źródło
brew install https://raw.github.com/Homebrew/homebrew-dupes/master/apple-gcc42.rb
Zamiast tego polecenie jest teraz .Zamiast
export CC=/usr/bin/gcc-4.2
„do”export CC=gcc
(należy zainstalować xCode 4.2.x).źródło
Sprawdź, którą wersję gcc masz taką:
ls -Al `which gcc-4.2`
Postępowałem zgodnie z instrukcjami tutaj: http://robots.thoughtbot.com/post/27985816073/the-hitchhikers-guide-to-riding-a-mountain-lion
Następnie zainstaluj ponownie:
Sprawdź ponownie, jaka jest twoja ścieżka do gcc (do użycia dla CC =):
ls -Al `which gcc-4.2`
(opcjonalnie) Możesz to ustawić w swoim .bashrc na przykład:
export CC=/usr/bin/gcc-4.2
(opcjonalnie) usuń starą wersję Rubiego
rvm remove 1.8.7
Następnie:
CC=/usr/local/bin/gcc-4.2 rvm --verify-downloads 1 reinstall 1.8.7-p357 --without-tcl --without-tk
lub jeśli ustawiłeś CC w swoim profilu
rvm --verify-downloads 1 reinstall 1.8.7-p357 --without-tcl --without-tk
Zwróć uwagę na flagi w instalacji rvm. Miałem problem z weryfikacją sumy kontrolnej na serwerze ftp i trochę problemów z tck, a co nie. Możesz pominąć te flagi.
Ponadto: może być konieczne usunięcie starej wersji zestawu gemset:
Następnie
Mam nadzieję że to pomoże.
źródło
Używam wersji macport i ruby-1.9.x. Z powodzeniem zainstalowałem szyny z rubinem.
źródło
Mam ten sam problem tylko dla arch x86_64 , kiedy komentuję linię w moim ~ / .rvmrc
rvm_archflags="-arch x86_64"
Otwórz nowy terminal i spróbuj ponownie zainstalować Ruby-1.8.7
rvm install 1.8.7
Udało się.
źródło
Jeśli używasz RVM w procesie tworzenia oprogramowania, dodałem poprawkę w pliku .rvmrc dla systemu OS X Lion.
https://gist.github.com/1112962
(zaktualizowana nazwa pliku)
źródło
Nie jest to związane z RVM, ale jeśli szukasz lokalnego środowiska programistycznego dla Lion, możesz spróbować RubyStack.Jest to darmowy, kompleksowy instalator typu open source dla Apache, MySQL, Ruby, Railsy itp. Nie wymaga kompilacji i jest samodzielne, więc jeśli ci się nie podoba, możesz po prostu usunąć katalog instalacyjny i gotowe. Zastrzeżenie: jestem jednym z programistów RubyStack :)
źródło
CC=/usr/bin/gcc-4.2 rvm install 1.8.7
nie działa dla mnie, użyłemCC=/usr/bin/gcc rvm install 1.8.7
i zadziałało (sprawdzanie z „którymgcc
”)źródło
Mimo wszystkich innych sugestii na tej stronie, wciąż dostawałem segfault'ów i frustrację, więc powiedziałem „pieprzyć to!” i użyj dostarczonego przez system Rubiego 1.8.7:
Musisz użyć sudo do instalacji klejnotów, ale nadal masz mniej bólu głowy.
źródło
Moim rozwiązaniem było nadpisanie linku symbolicznego / usr / bin / gcc w terminalu. Oto jak to zrobiłem:
https://plus.google.com/101970693023462019144/posts/eYVLvMCqTmc
To nie tylko naprawiło moją instalację RVM, ale także zapewniło, że instalacja klejnotów z natywnymi rozszerzeniami (takimi jak rmagick) działa.
źródło