Soru RVM kullanırken Ruby taşlarını nasıl kurabilirim?


RVM'yi kurdum ve Ruby'yi ve diğer birkaç kütüphaneyi kurmak için kullandım. Rails gibi diğer teknolojilerden ve çeşitli eğitimlerden geçerken RVM ile ne yapmam gerektiği ve derslerin önerdiği gibi yapmam gereken şey hakkında kafam karışmaya başladım.

Bir örnek, RubyGems öğreticisidir: http://rubygems.org/pages/download

Konuştukları tar dosyasını indirmeli miyim? Gerekir, çünkü RVM'nin ne için olduğunu düşündüğüm şey buydu. RubyGems'e bile ihtiyacım var mı? Bu gerçekten ne için?

Ayrıca, aslında Rails'i nasıl alabilirim? Rayları gerçekten indirmek ve kurmak için kesin bir RVM komutu var mı?


36
2018-04-22 17:43


Menşei


Neden birinin bunu öznel veya tartışmacı olarak işaretlediğini anlamıyorum. Açıkçası birileri soruyu okumak için uğraşmadı. - the Tin Man


Cevaplar:


RVM'yi siz ve yakut ekosistemi arasında bir soyutlama katmanı olarak düşünmeme yardımcı oluyor.

RVM olmadan: ruby, gems ve ruby ​​ile ilgili ikili dosyalar (komisyon, spec, gem, vs gibi) doğrudan işletim sisteminizin dizinlerine yüklenir.

RVM ile: ruby ​​ile ilgili şeyler rvm tarafından kesilir, böylece yakut, mücevher ve ruby ​​ile ilgili binares ~, güzel, temiz, organize bir şekilde ~ / .rvm dir içine "yüklenir". RVM, yakut, mücevher ve ilgili ikili dosyalar ile işletim sistemi arasında oturur. Aynı makinede birden fazla yakut ortamına (farklı mücevher ve ikili) sahip olmanın bir yolunu sağlar.

Yani, rvm yüklü olsun ya da olmasın, komutları neredeyse tam olarak (*) web üzerinde herhangi bir öğreticide göründüğü gibi çalıştırabilmelisiniz. Diğer bir deyişle, RVM'nin kurulduğunu "unut" undan vazgeçebilirsiniz; Ruby ekosistemi, kurulmamış gibi çalışmalıdır.

Evet, kaçmak zorundasın. gem install rails, vb.

Umarım bu karışıklığı giderir.

(*) Bazı küçük farklılıklar vardır. Örneğin: RVM yüklendiğinde komutları sudo olarak çalıştırmamalısınız.


47
2018-04-22 18:10



"Komutları tam olarak web'deki herhangi bir öğreticide göründüğü gibi çalıştırabiliyor olmalısınız." Hayır. Kullanmanızı tavsiye eden herhangi bir eğitim sudo Bir gem yüklemek için başarısız olur. RVM özellikle diyor ki "Sudo kullanmayın ...". - the Tin Man
ahh, sudo hakkında iyi haber, Teneke Adam. Cevabımı güncelleyeceğim. - Upgradingdave
@ theTinMan Bağlantınız bozuk. - KomodoDave
O zaman yorumunuza doğru olanı eklemeliydin. 'RVM özellikle diyor ki'Sudo kullanmayın ...". - the Tin Man
Evet, beni iten sudo. Tüm mücevherlerimi denemek için çok alışkınımdı ve kurulumların neden başarısız olduğunu anlayamadım! Şimdi anladım. - Adam Marshall


Konuştukları tar dosyasını indirmeli miyim?

Hayır. Ruby 1.9+ taşlar içerir. RVM, 1.8+ için geliştirir.

Genel olarak, ne yapmak istediğinizi tam olarak anlayabilmeniz için yeterli tecrübeye sahip olmadığınız sürece, internette bulduğunuz herhangi bir yöne dikkat edin. Özellikle, herhangi bir şeyi kullanarak bir şey yüklemenizi sudo veya kök olarak.

Özellikle, RVM ile çalışırken, kullanmak istemiyorsunuz sudo Ruby'yi yüklemek veya herhangi bir mücevher. RVM, geliştirmeniz için bir sanal alan oluşturarak çalışır ve hesabınızın ortamına güvenir, yolunuzu değiştirir, böylece herhangi bir Ruby talebi, seçili RVM tarafından yönetilen Ruby'ye veya mücevherlere veya kurdukları herhangi bir komutlara gider. sudo normal ortamınızı tarafınıza iter, kökün geçici olarak yerini alır, root'un izinleriyle ne yapmak istediğinizi yükler, sonra da ortamınıza geri döner.

Komutu çalıştırmaya gittiğinizde veya geminizi bulduğunuzda, RVM'nin Ruby'si tarafından bulunamıyor, çünkü bu dosya RVM'nin sanal alanının dışına kuruldu, ya da okunamıyor ya da değiştirilemiyor çünkü kök. Gerçek neden ne olursa olsun, sonuç ağlayan ve dişleri gıcırdayacak.

RVM gem işlevsellik. gem Ruby mücevherlerini kurmak ve yönetmek için kullanılır ve RVM, tüm işleme için sandbox'ı kullanmak için onu düzenler. RVM'nin gemset desteği sayesinde ek işlevsellik kazanırsınız, ancak gem her zaman olduğu gibi çalışır, sadece dünyasını kontrol eden "büyük kardeş", RVM var.


11
2018-04-22 18:59



Güvenlik uyarısı için +1 - Jezen Thomas


Rubygems kurmaya gerek yok. RVM zaten rubygems kurmuş olmalıdır. RVM (benim düşünceme göre), yakutun farklı kurulumlarını (1.8.7 ve 1.9.2) veya farklı gemsetleri yönetmek için yararlıdır. Yakutun bir versiyonuna sahipseniz ve farklı mücevherleri önemsemiyorsanız, RVM gerçekten bu kadar bir değişiklik değildir. Sadece rayları kurmak istiyorsanız, sadece gem install rails. Mevcut bir ray 3 uygulamanız varsa, önce bundler'ı yükleyin gem install bundler ve sonra bundle install raylar ve diğer mücevher bağımlılıkları almak için.


4
2018-04-22 17:50



Yani sadece tutarlılık için, RVM ile rayları kurmak için bir yol var mı? "Gem yükleme rayları" ne yapar? Rayların nasıl kurulacağını / indirileceğini bilen ruby ​​yüklemesini kullanıyor mu? Her şey nasıl çalışıyor? lol - Genadinik
Yap rvm gemdir. Şeyleri ile nerede size söyleyecektir gem install Yüklenecek. gem install rails Daha sonra bu dizine yüklenir. Tüm yüklü yakutlar içinde ~/.rvm/rubies. Taşlar içeride ~/.rvm/gems. Rvm ile ilgili her şeyi yapmak ~/.rvm. HTH - Zabba
Ruby 1.9+, normal yüklemesinin bir parçası olarak RubyGems'i yükler. Ruby <1.9 için, RVM'nin yararlı olması ve mücevherleri de içerdiğini düşünüyorum. - the Tin Man