Jak zaktualizować Ruby do wersji 1.9.x na komputerze Mac?

107

Utworzyłem nowe konto użytkownika na moim Macu i próbuję zaktualizować go do aktualnej wersji Ruby (1.9.2) z domyślnej lamparty śnieżnej 1.8.7. Czy ktoś może wskazać mi samouczek lub wyjaśnić najlepszą metodę aktualizacji Rubiego na moim komputerze Mac z wersji 1.8 do 1.9.2? Dzięki

agentbanks217
źródło

Odpowiedzi:

66

Zrobię silną sugestię dotyczącą rvm .

To świetny sposób na zarządzanie wieloma zestawami rubinów i klejnotów bez kolidowania z wersją systemu.


Dodam, że teraz (02.04.2013) bardzo często używam rbenv , ponieważ moje potrzeby są proste. RVM jest świetny, ale ma wiele możliwości, których nigdy nie potrzebuję, więc mam go na niektórych maszynach i rbenv na moim komputerze stacjonarnym i laptopie. Warto sprawdzić oba i zobaczyć, który z nich najlepiej odpowiada Twoim potrzebom.

Blaszany Człowiek
źródło
Zgoda. I nawet jeśli wiele wersji nie stanowi problemu (ha!), Rvm świetnie nadaje się do wyszukiwania brakujących bibliotek natywnych. Prawie niezastąpione.
Izaak Rabinowicz
198

Jak sugeruje The Tin Man (powyżej) RVM ( Ruby Version Manager ) jest standardem uaktualniania twojej instalacji Ruby na OSX: https://rvm.io

Aby rozpocząć, otwórz okno terminala i wydaj następujące polecenie:

\curl -L https://get.rvm.io | bash -s stable --ruby

(musisz zaufać zespołowi programistów RVM, że polecenie nie jest złośliwe - jeśli jesteś paranoicznym pingwinem, takim jak ja, zawsze możesz przeczytać źródło : https://github.com/wayneeseguin/rvm ) Po zakończeniu ty musisz ponownie uruchomić terminal , aby uzyskać rvmpracę poleceń.

rvm list known

(pokazuje najnowsze dostępne wersje Rubiego)

rvm install ruby-2.3.1

W przypadku określonej wersji, po którym następuje

rvm use ruby-2.3.1

lub jeśli chcesz tylko najnowszą (aktualną) wersję:

rvm install current && rvm use current

(instaluje aktualne wydanie stabilne - w czasie pisania ruby-2.3.1 - proszę zaktualizować tę wiki, gdy zostaną wydane nowe wersje)

Uwaga na temat kompilowania Rubiego : W moim przypadku musiałem również zainstalować Homebrew http://mxcl.github.com/homebrew/, aby uzyskać klejnoty, których potrzebowałem ( RSpec ), co z kolei zmusza cię do zainstalowania Xcode (jeśli jeszcze tego nie zrobiłeś ) https://itunes.apple.com/us/app/xcode/id497799835 ORAZ / LUB zainstaluj pakiet GCC z: https://github.com/kennethreitz/osx-gcc-installer, aby uniknąć błędów podczas uruchamiania programu „ make ”.

Edycja: Od Mavericks możesz zainstalować tylko narzędzia wiersza poleceń Xcode zamiast całego pakietu Xcode, który jest dostarczany z gcc i wieloma innymi rzeczami, których możesz potrzebować do budowania pakietów. Można go zainstalować, uruchamiając xcode-select --installi postępując zgodnie z instrukcjami wyświetlanymi na ekranie.

Uwaga dotycząca błędów: jeśli podczas wykonywania tego polecenia pojawi się błąd „ RVM nie jest funkcją ”, odwiedź: Jak zmienić wersję Ruby za pomocą RVM? rozwiązania.

nelsonic
źródło
Ustawienie tego wszystkiego w Mountain Lion wymaga dużo cierpliwości. Jeśli napotkasz błąd „Błąd podczas uruchamiania 'env GEM_PATH = / Users / ...” to nie są twoje ścieżki, a zobaczysz w dzienniku, że to właśnie openssl (który jest prawdopodobnie zainstalowany) jest zepsuty w RVM i zapewnia strona o pracy nad tym rvm.io/packages/openssl
Dylan Valade
4
Naprawdę nienawidzę bałaganu, jakim jest Ruby. To jatka. Jednak ta odpowiedź zaprowadziła mnie na właściwą drogę i naprawdę za to wielkie dzięki!
Ian Lewis
1
Wędrując między postami, które prowadzą mnie do innych problemów, uznałem ten za bardzo pomocny, ponieważ wyjaśnia, jak korzystać z RVM, a nie tylko z niego.
Hector Ordonez,
19

W przypadku naparu jest to jedna linijka:

(zakładając, że wybrałeś homebrew / wersje, co można zrobić, uruchamiając brew tap homebrew/versions)

brew install ruby193

Zadziałało dla mnie po wyjęciu z pudełka na OS X 10.8.4. Lub jeśli chcesz 2.0, po prostubrew install ruby

Mówiąc bardziej ogólnie, brew search rubypokazuje różne dostępne repozytoria, a jeśli chcesz uzyskać naprawdę szczegółowe informacje, możesz brew versions rubyzamiast tego użyć i pobrać określoną wersję.

Nils
źródło
1
Świetna jedna linijka do instalacji określonej wersji ruby! przełączanie się między wersjami ruby ​​z naparem nie jest tak łatwe ... stackoverflow.com/questions/8730676
nelsonic
4

Wiem, że to starszy post, ale chciałbym dodać kilka dodatkowych informacji na ten temat. Po pierwsze, myślę, że rvmto świetnie, ALE nie było to aktualizowanie Rubiego z mojego systemu (MAC OS Yosemite).

Co rvmrobiłem: instalowałem w innym miejscu i tworzyłem tam ścieżkę do mojej zmiennej środowiskowej ... I trochę się nudziłem, ponieważ miałem teraz dwa ruby ​​w moim systemie.

Aby to naprawić, odinstalowałem rvm, a następnie użyłem dostępnego tutaj menedżera pakietów Homebrew i zainstalowałem polecenie terminalu ruby ​​throw brew install ruby.

A potem wszystko działało idealnie! Rubin z mojego systemu został zaktualizowany! Mam nadzieję, że pomoże to kolejnym poszukiwaczom przygód!

Damiii
źródło
1
Walczyłem, aby zdecydować, czy powinienem użyć, rvmczy brew. to pomaga. dzięki
unifreak
Czy napar również nie robi tego samego?
anon
3

Nie zgodzę się tutaj z Blaszanym Człowiekiem. Uważam, że rbenv jest lepszy niż RVM. rbenvnie koliduje drastycznie z powłoką, tak jak robi to RVM, i pozwala na dodawanie oddzielnych instalacji Rubiego w zwykłych folderach, które można bezpośrednio sprawdzić. Pozwala samodzielnie skompilować Rubiego. Dobry zarys różnic tutaj: https://github.com/sstephenson/rbenv/wiki/Why-rbenv%3F

Podaję tutaj instrukcje kompilacji Rubiego 1.9 dla rbenv . Dalsze, bardziej szczegółowe informacje tutaj . Użyłem tej techniki z łatwym sukcesem w Snow Leopard, Lion i Mountain Lion.

matowe
źródło
1
W czasie, gdy pierwotnie zadano to pytanie, rbenv nie wchodziło w grę. Czasy się zmieniają, podobnie jak kod. RVM jest nadal dobrym wyborem, ale jest ciężki w porównaniu do rbenv. Używam obu na różnych maszynach, ponieważ oba są przydatne na różne sposoby.
Tin Man
2

Artykuł Dana Benjamina Hivelogic Instalowanie Ruby, RubyGems i Rails w Snow Leopard jest zalecanym miejscem, chociaż artykuł dotyczy wersji 1.8, więc oto instalacja specyficzna dla Ruby 1.9 w systemie Snow Leopard . Uważaj na 64-bitową rzecz ... albo przejdź do 64-bitowego `` grubego '' (jak jest - na przykład - Apache na OS X, który może powodować problemy z bibliotekami 32-bitowymi) lub sprawdź wszystkie klejnoty, które prawdopodobnie użyć, aby upewnić się, że są odpowiednie dla wersji 64-bitowej.

Dave Everitt
źródło
2

To polecenie faktycznie działa

\curl -L https://get.rvm.io | bash -s stable --ruby

Anthony
źródło
0

Jak wspomniano wcześniej, wersja pakietu może być zbyt wysoka dla twojej wersji railsów.

Napotkałem ten sam problem używając Rails 3.0.1, które wymagają Bundler v1.0.0 - v1.0.22

Sprawdź wersję pakietu za pomocą: gem list bundler

Jeśli twoja wersja pakietu nie mieści się w odpowiednim zakresie, stwierdziłem, że to rozwiązanie działa: rvm @global do gem uninstall bundler

Uwaga: rvm jest wymagane do tego rozwiązania ... kolejny przypadek, dlaczego powinieneś używać rvm w pierwszej kolejności.

whiteshooz
źródło
0

Jest kilka innych menedżerów wersji do rozważenia, zobacz kilka przykładów, a jeden, którego nie ma na liście, a który wkrótce spróbuję, to ch-ruby . Próbowałem rbenv, ale miałem z nim zbyt wiele problemów. RVM jest moją ostoją, chociaż czasami ma dziwny problem (stąd moje pragnienie wypróbowania ch-ruby, gdy mam szansę). Nie dotykałbym systemu Ruby, ponieważ inne rzeczy mogą na nim polegać.

Powinienem dodać, że kilka razy skompilowałem również mojego własnego Rubiego i użycie artykułu Hivelogic (jak zasugerował Dave Everitt) jest dobrym pomysłem, jeśli wybierzesz tę drogę.

iain
źródło