2012-07-24 21 views
43

gem install'u kullanırken, gem'in geminin yüklü olduğu /home/username/.rvm/gems/ altında saklanacağını biliyorum.Paketleyici mücevherleri nerede saklar?

Ancak Bundler'ı kullanırsam ve Gemfile'da gem'i belirtirsem, paket yüklemeyi çalıştırdığımda, bu taşlar nerede saklanır? Paket yüklemeyi çalıştırırsam, gem install kullanarak gemiyi zaten yüklediysem, gem install kullanarak kurulan önceki gemiyi kullanır mı?

+17

'bohça gösterisi ' – Chowlett

+0

teşekkürler, ben tamamen bu komutla unuttuk. – maru

cevap

40

Bu, bağlıdır. Her zamanki geliştirme kurulumunda, bir "normal" (gem install foo çalıştırarak) yüklediğinizde ve bundler zaten var olan mücevherleri yeniden yüklemeyecekleri yerde yüklenirler. Bu konum, rubygems'in nasıl yapılandırıldığına bağlıdır.

Eğer paket daha sonra taşlar uygulamanıza benzersiz bir konuma kurulacak --deployment seçeneğiyle yüklemek çalıştırırsanız (ayrı seçenek olarak geçebilir ancak satıcı/demetine öntanımlıdır)

Ayrıca şunu da yapabilirsiniz uygulamanızın vendor/cache'da kullandığı tüm .gem dosyalarını saklamak için bundle package çalıştırın. bundle install'un çalıştırılması, satıcı/önbellekteki mücevherleri diğer konumlardaki mücevherleri tercih edecektir.

+0

havalı! Daha fazla ayrıntı eklemek için teşekkürler, çok takdir. – maru

+0

Ayrıca yükleme yolunu [bundle install] (http://gembundler.com/v1.2/bundle_install.html): '$ bundle install --path vendor/bundle' parametresi olarak da belirtebilirsiniz – webwurst

+2

cevabı anlayın, paket yüklemesi için varsayılan yükleme yolu nedir? Geliştirme aşamasında kullanılıyorsa. –

2

Burada /usr/local/lib/ruby/gems/2.1.0/gems/ ve burada: /usr/local/lib/ruby/gems/2.1.0/bundler/gems/.

+1

Bunun sadece belirli işletim sistemleri için geçerli olduğunu tahmin etmeliyim –

+2

Hangi demonun hangi dizine gittiğine karar vermenin nasıl bir yol olduğunu biliyor musunuz? –

40

Belirli bir gemin nerede saklandığını bulmak isterseniz, bundle show <gem-name>'u çalıştırabilirsiniz. Örneğin:

[email protected]$ bundle show rake 
/var/bundle/ruby/2.1.0/gems/rake-10.4.2 
+0

Bu, tüm mücevherlerin yakutunuza takılı olduğu anlamına mı geliyor? – Jwan622

İlgili konular