Ruby kullanmaya başlarken en sık karşılaştığım sorun, versiyon farklarından ve GEM versiyonu uyumsuzluklarından kaynaklanıyordu. Bağımsız geliştiriciler çok olduğu için bazı paketler başka paketleri gerektirirken bir başkasına uyumsuz olabiliyor bu sebeple özellikle Ruby on Rails kullanacaksanız, versiyonlarla çok uğraşmanız gerekebilir. Tabii ki size bu yolda yardımcı olacak çok araç mevcut mesela Ruby Version Manager. RVM sadece gemleri kurarken değil farklı versiyonlu environment ları aynı yerde daha kolay çalıştırmanızı da sağlamaktadır. Başka bir tanesi de Bundler, bu da çevresel anlamda çok işinizi kolaylaştırabilir. Tabii ki GEM leri bu araçları kullanmadan kendiniz kurarsanız başlangıç olarak çok bir şey kaybetmeyeceksiniz ama işinizi kolaylaştıracaklardır. Ancak ileride kesinlikle bunlara ihtiyaç duyacağınız durumlar ortaya çıkabilir.
Mesela osman adında bir GEM kuracaksınız:
$ gem install osman
Bu GEM sadece kendisini değil ihtiyaç duyduğu başka bir tanesini de kuruyor. Her GEM için aynı şey geçerli değildir. Bazıları sizin kurmanızı bekler ve buna ihtiyaç duyuyorum diye ifade eder. Aynı şekilde silerken de başka bir GEM in buna ihtiyaç duyduğu uyarısını alabilirsiniz.
$ gem uninstall kemal
"kemal adlı GEM i silmek istediniz ama cengiz GEMi kemale ihtiyaç duyuyor." şeklinde bir uyarı alabilirsiniz. Kurulu tüm GEM lerinizi ve hangi versiyonlarda olduklarınızı görmek için, şu komutu kullanabilirisiniz:
$ gem list
osman GEM inin belirli bir vesiyonunu yüklemeniz gerekiyorsa da şunu kullanabilirisiniz:
$ gem install osman -v 1.8