Ruby, Mac'te 1.9.x'e nasıl güncellenir?


107

Mac'imde yeni bir kullanıcı hesabı oluşturdum ve üzerinde Ruby'nin mevcut sürümüne (1.9.2) kar leoparı varsayılan 1.8.7'den güncelleme yapmaya çalışıyorum. Mac'imde Ruby'yi 1.8'den 1.9.2'ye güncellemenin en iyi yöntemini öğretici veya açıklayacak biri olabilir mi? Teşekkürler

Yanıtlar:


66

Rvm için güçlü bir öneride bulunacağım .

Sistem sürümüyle çarpışmadan birden fazla Yakut ve mücevher setini yönetmenin harika bir yoludur.


Şimdi ekleyeceğim (4/2/2013), rbenv'i çok kullanıyorum çünkü ihtiyaçlarım basit. RVM harika, ancak hiç ihtiyaç duymadığım çok fazla yeteneği var, bu yüzden bazı makinelerde ve masaüstü ve dizüstü bilgisayarımda rbenv kullanıyorum. Her ikisini de kontrol etmeye ve ihtiyaçlarınıza en uygun olanı görmeye değer.


Kabul. Birden çok sürüm sorun olmasa bile (ha!) Rvm, hangi yerel kitaplıkların eksik olduğunu bulmak için harikadır. Hemen hemen vazgeçilmez.
Isaac Rabinovitch

198

As The Tin Man anlaşılacağı (yukarıda) RVM ( Yakut Sürüm Yöneticisi ) 'dir Standard OSX üzerinde Yakut yüklemesini yükseltme: https://rvm.io

Başlamak için bir Terminal Penceresi açın ve aşağıdaki komutu verin:

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

( RVM Dev Team'e komutun kötü niyetli olmadığına güvenmeniz gerekecek - eğer benim gibi paranoyak bir penguenseniz , her zaman kaynağı okuyabilirsiniz : https://github.com/wayneeseguin/rvm ) Tamamlandığında Eğer terminali yeniden başlatmanız gerekiyor almak için komut çalışma.rvm

rvm list known

(size Ruby'nin mevcut en son sürümlerini gösterir )

rvm install ruby-2.3.1

Belirli bir sürüm için, ardından

rvm use ruby-2.3.1

veya yalnızca en son (güncel) sürümü istiyorsanız:

rvm install current && rvm use current

(mevcut kararlı sürümü kurar - ruby-2.3.1 yazılırken - lütfen yeni sürümler çıktığında bu wiki'yi güncelleyin)

Ruby'nin Derlenmesi Üzerine Not : Benim durumumda , ihtiyacım olan mücevherleri ( RSpec ) almak için Homebrew http://mxcl.github.com/homebrew/ kurmam gerekiyordu ve bu da sizi Xcode'u yüklemeye zorlar (henüz yapmadıysanız ) https://itunes.apple.com/us/app/xcode/id497799835 VE / VEYA " make " çalıştırılırken hataları önlemek için GCC paketini https://github.com/kennethreitz/osx-gcc-installer adresinden yükleyin .

Düzenleme: Mavericks'ten itibaren, gcc ve paket oluşturmak için ihtiyaç duyabileceğiniz diğer pek çok şeyle birlikte gelen tüm Xcode paketi yerine yalnızca Xcode komut satırı araçlarını kurmayı seçebilirsiniz. xcode-select --installEkrandaki komut istemini çalıştırıp izleyerek kurulabilir .

Hatalarla ilgili not : Bu komutu denerken " RVM bir işlev değil " hatası alırsanız , şu adresi ziyaret edin: Ruby sürümümü RVM kullanarak nasıl değiştirebilirim? çözüm için.


Tüm bunları Mountain Lion'da kurmak çok sabır gerektiriyor. "Env GEM_PATH = / Kullanıcılar / ... çalıştırılırken hata" hatasıyla karşılaşırsanız, bu sizin yollarınız değildir ve günlükte, bunun openssl'nin (muhtemelen kurulu olan) RVM'de bozulmuş olduğunu göreceksiniz ve bunun üzerinden çalışma sayfası rvm.io/packages/openssl
Dylan Valade

4
Ruby'nin karmaşasından gerçekten nefret ediyorum. Bu bir darmadağın. Ancak, bu cevap beni doğru yola getirdi ve bunun için gerçekten çok teşekkürler!
Ian Lewis

1
Beni başka sorunlara götüren gönderiler arasında dolaşırken, bunu sadece RVM'yi değil, RVM'nin nasıl kullanılacağını açıkladığı için çok yararlı buldum.
Hector Ordonez

19

Demleme ile bu tek astar:

(çalıştırılarak yapılabilen homebrew / versiyonlarına dokunduğunuzu varsayarsak brew tap homebrew/versions)

brew install ruby193

OS X 10.8.4'te benim için kutudan çıktı. Veya 2.0 istiyorsanız, sadecebrew install ruby

Daha genel olarak, brew search rubysize mevcut farklı depoları gösterir ve gerçekten spesifik olmak istiyorsanız brew versions rubybunun yerine belirli bir sürümü kullanabilir ve kontrol edebilirsiniz .


1
Ruby'nin belirli bir sürümünü yüklemek için harika tek satırlık! brew ile Ruby versiyonları arasında geçiş yapmak o kadar kolay değil ... stackoverflow.com/questions/8730676
nelsonic

4

Bunun daha eski bir gönderi olduğunu biliyorum, ancak bununla ilgili bazı ekstra bilgiler eklemek istiyorum. İlk olarak, bunun rvmharika olduğunu düşünüyorum AMA sistemimden Ruby'yi güncellemiyordu (MAC OS Yosemite).

Ne rvmyapıyordu: başka bir yere kurmak ve oradaki ortam değişkenime giden yolu ayarlamak ... Ve biraz sıkıldım, çünkü şu anda sistemimde iki yakut vardı.

Bunu düzeltmek için, 'yi kaldırdım rvm, sonra burada bulunan Homebrew paket yöneticisini kullandım ve yaparak ruby ​​throw terminal komutunu yükledim brew install ruby.

Ve sonra her şey mükemmel çalışıyordu! Sistemimdeki yakut güncellendi! Umarım sonraki maceracılara yardımcı olur!


1
Karar için mücadele edilip kullanmalıyım rvmya brew. bu yardımcı olur. teşekkürler
unifreak

Demlemek de aynı şeyi yapmıyor mu?
anon

3

Buradaki Teneke Adam'a katılmayacağım. I kabul rbenv RVM tercih olarak. rbenvRVM'nin yaptığı gibi kabuğunuza büyük ölçüde müdahale etmez ve doğrudan inceleyebileceğiniz sıradan klasörlere ayrı Ruby kurulumları eklemenize izin verir. Ruby'yi kendiniz derlemenizi sağlar. Buradaki farklılıkların iyi bir özeti: https://github.com/sstephenson/rbenv/wiki/Why-rbenv%3F

Ruby 1.9'u rbenv için derleme talimatlarını burada veriyorum . Ayrıca burada daha ayrıntılı bilgi . Bu tekniği Snow Leopard, Lion ve Mountain Lion'da kolay başarı ile kullandım.


1
Bu soru ilk sorulduğunda, rbenv bir seçenek değildi. Kod gibi zaman da değişir. RVM hala iyi bir seçimdir, ancak rbenv ile karşılaştırıldığında ağırdır. İkisini de farklı makinelerde kullanıyorum çünkü ikisi de farklı şekillerde kullanışlıdır.
The Tin Man


2

Bu komut aslında çalışıyor

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


0

Daha önce belirtildiği gibi, paketleyici sürümü, ray sürümünüz için çok yüksek olabilir.

Bundler v1.0.0 - v1.0.22 gerektiren Rails 3.0.1'i kullanarak aynı problemle karşılaştım

Paketleyici sürümünüzü şunları kullanarak kontrol edin: gem list bundler

Paketleyici sürümünüz uygun aralıkta değilse, bu çözümün işe yaradığını buldum: rvm @global do gem uninstall bundler

Not: Bu çözüm için rvm gereklidir ... ilk etapta neden rvm kullanmanız gerektiğine dair başka bir durum.


0

Dikkate alınması gereken birkaç sürüm yöneticisi var, birkaç örneğe bakın ve orada listelenmeyen, yakında deneyeceğim biri ch-ruby . Rbenv'i denedim ama çok fazla sorun yaşadım. RVM benim dayanak noktamdır, ancak bazen garip bir problemi vardır (bu yüzden şansım olduğunda ch-ruby'yi denemek isteğim). Diğer şeyler buna bağlı olabileceğinden, Ruby sistemine dokunmam.

Eklemeliyim ki kendi Ruby'mi birkaç kez derledim ve Hivelogic makalesini kullanmak (Dave Everitt'in önerdiği gibi) bu yolu seçerseniz iyi bir fikirdir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.