2011-04-02 24 views

cevap

37

taş

  • taş RubyGems ile tanımlanan paket sistemi kullanılarak paketlenmiş bir yakut uygulamasıdır.
  • Rayların kendisi bir Gem'dir.

    DIR bin
    DIR yerleşik
    68465 CHANGELOG
    :

    Raylar mücevher 1.8 \ taşlar \ raylar-1.2.3 olarak \ \ yakut \ taşlar lib JRuby-1.0 \ yüklenir DIR yapılandırmaları
    DIR gönderir
    DIR doktor
    DIR ortamları
    307 fresh_rakefile
    DIR yardımcıları
    DIR html
    DIR lib
    1072 MİT-LİSANS
    11969 Rakefile
    8001 README
    lib dizini içeriyor tüm mücevher kaynak kodu.

  • Biz yüklemek yükseltmek ve bir benim GemInstaller gibi bir araç kullanır version.If mücevher sorgulayabilir, kolayca tek bir basit yapılandırma dosyası ile rubygems yüklenmesini ve yükleme otomatik hale getirebilirsiniz.

  • Ruby tercüman için mücevheri bu tercüman tarafından sistem genelinde kullanılabilir.
  • Mücevher bir eklenti olarak yayınlanabilir.
  • Ayrıca satıcı/mücevher de satılabilir.

Plugin

  • Eklenti Raylar Framework bir uzantısıdır.
  • Bir komut kullanılarak yükseltilemez. Yükseltmek için yükseltmek ve yükseltilmiş sürümü yüklemek zorunda.
  • Raylar uygulamasına takılmalıdır. (init.rb'ye sahip olması gerekir)
  • Bir install.rb dosyasına sahip olun.
  • Eklenti bir Gem olarak yayınlanamaz.
  • Yalnızca uygulama genişliğinde kullanılabilir.
    7089 build.xml
    1141 License.txt
    Dir eklentileri
    6675 pom.xml:

Goldspike eklenti satıcı \ plugins \ olarak uygulamanın raylar-entegrasyon dizini yüklenir
eklentileri/goldspike dizinioluşur
1.447 BENIOKU
DIR örnekleri 210 24 install.rb
DIR lib
549 Rakefile
536 README
DIR görevleri
DIR testi
lib dizini tüm Eklenti kaynak kodunu içeren
25 init.rb.

Gem Eklentileri

  • Rails vs satıcı/eklentileri/dizinden yükleme eklentilerin bir yolu vardı. Rails, tedarikçiye/gems/dizinindeki numaralı proje ile taşların toplanması için destek eklediğinden bu durum büyük olasılıkla kullanımdan kaldırılacaktır. Rspec'in mücevher sürümleri, günlük kullanım için tasarlananlardır. Biri, 1.2.x ailesindeki veya daha önceki bir Rails uygulamasını desteklemediğiniz sürece bunlarla birlikte gitmelidir.
  • Kitaplığı gerçek uygulamanıza dahil etmediğiniz sürece, Gems'i kullanarak bir havuzda check-in ve check-out yapmak genellikle daha hızlı olur. Genellikle, dağıtılan ekip arasında yazılım sürümleri ile ilgili uyumsuzluk ile ilgili Eklentileri kullanan daha az sorun vardır. Genel genel kural, Raylara özgü işlevselliği bir eklenti haline getirmek ve daha genel Ruby kütüphanelerini mücevher haline getirmektir.
+0

teşekkürler @Piyush. Söyle bana, eklentiler ve mücevherlerin kullanımı. Ve sonra, Neden/Plugins ve Gems'i kullanıyoruz. Lütfen gerçek zamanlı konsept ile açıklayınız. –

+0

Merhaba @ user409617, şimdi herkesin kullandığı tüm eklentileri bir gün. böylece ikisi de neredeyse aynı oldu. ancak eklentiyi kod içinde görüntüleyebildiğim ve tam olarak ne olduğunu bildiğim için kişisel olarak eklentileri tercih ediyorum. (bu mücevherler cant değil, ama onun bir güçlük): D – sameera207

+1

@ sameera207 Katılmıyorum, Rails uygulamalarının büyük çoğunluğunun bu günlerde eklentiler yerine taşlar kullandığını düşünüyorum. Bazı insanlar mücevherlerini satıyorlar ya da Bundler üzerinden projeye göre bir yola monte ediyorlar. –

8

Eklentiler uygulama düzeyinde yüklenirken taşlar sistem düzeyinde yüklenir. Yani, aynı sunucuda iki veya daha fazla uygulama çalışıyorsa, taşlar paylaşabilir, ancak her birinin kendi eklentileri olacaktır. Şimdilik, uygulama ölçeği olarak bakımı daha kolay olduğu için, bir tane de taşlar kullanmayı önereceğim.

+0

Katılmıyorum, uygulamayı kirletebilir ve çökebilir. Buna ek olarak, bir senaryo söyleyecektir.One VPS'nin birçok uygulaması varsa ve taşlar sistem bilge olarak yüklenirse çökecek ne olur? Bu yüzden her bir uygulama için Gemset'i yaratmalıyız. [Raylar için Gemset uygulamasını kullanın] (http://everydayrails.com/2010/09/13/rvm-project-gemsets.html). – VKatz

İlgili konular