# Gems:install, unpack e freeze

**URL:** <https://www.ruby-forum.com/t/gems-install-unpack-e-freeze/171839>\
**Category:** IT\
**Created:** [July 9, 2009, 11:16pm UTC](https://www.ruby-forum.com/t/gems-install-unpack-e-freeze/171839 "2009-07-09T23:16:10Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [July 9, 2009, 11:16pm UTC](https://www.ruby-forum.com/t/gems-install-unpack-e-freeze/171839/1 "2009-07-09T23:16:10Z")

</div>

Se in evironment.rb configuro le gemme necessarie all’applicazione e  
poi lancio gems:install le gemme vengono installate nel sistema come  
se lanciassi direttamente il comando gem install…  
Se successivamente lancio gems:unpack le gemme vengono installate  
sotto /vendor/gems e se poi lancio rails:freeze:gems mi viene  
installato rails sempre sotto /vendor.  
A questo punto mi chiedo: se porto l’applicazione sul server di  
produzione, avendo gia’ tutte le gemme necessarie sotto /vendor, non  
c’e’ bisogno che installi le gemme, rails compreso nel sistema,  
poiche’ gia’ l’applicazione le porta con se.  
Sbaglio?

---

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [July 9, 2009, 11:19pm UTC](https://www.ruby-forum.com/t/gems-install-unpack-e-freeze/171839/2 "2009-07-09T23:19:05Z")

</div>

Esatto

---

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [July 9, 2009, 11:22pm UTC](https://www.ruby-forum.com/t/gems-install-unpack-e-freeze/171839/3 "2009-07-09T23:22:00Z")

</div>

2009/7/9 Luca G. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> Esatto

accidenti a saperlo prima 🙂  
adesso risistemo il server eliminando tutte le gemme e lasciando solo  
l’interprete ruby (che su linux debian lenny purtroppo e’ ancora la  
1.8).

---

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [July 9, 2009, 11:26pm UTC](https://www.ruby-forum.com/t/gems-install-unpack-e-freeze/171839/4 "2009-07-09T23:26:06Z")

</div>

rake gems:unpack provvede a scompattare le tue gems nella tua  
applicazione,  
però fai attenzione, se delle gemme hanno delle estensioni native (e non è  
raro), devi anche eseguire “gems:build”.  
Questi Rake tasks si occupano di tutte le gemme tranne che di Rails e  
delle  
sue dipendenze, quindi scegli l’opzione più adatta a te tra i task appositi.  
rake -T rails, per ottenere una lista completa.

Luca

---

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [July 9, 2009, 11:35pm UTC](https://www.ruby-forum.com/t/gems-install-unpack-e-freeze/171839/5 "2009-07-09T23:35:27Z")

</div>

2009/7/9 Luca G. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> rake gems:unpack provvede a scompattare le tue gems nella tua applicazione,  
> però fai attenzione, se delle gemme hanno delle estensioni native (e non è  
> raro), devi anche eseguire “gems:build”.

Immagino che se tentassi di fare un gems:unpack di gemme che hanno  
necessita’ di estensioni native verrei avvertito da qualche messaggio.

> Questi Rake tasks si occupano di tutte le gemme tranne che di Rails e delle  
> sue dipendenze, quindi scegli l’opzione più adatta a te tra i task appositi.  
> rake -T rails, per ottenere una lista completa.

Si certo, rails deve essere presente a livello di sistema,  
rails:freeze:gems fa un freeze della versione corrente di rails nella  
mia applicazione.  
Quello che volevo capire e’ che se, dopo aver installato le gemme  
sotto /vendor, fatto il freeze di rails e portato l’applicazione nel  
server di produzione, e’ necessario installare la gemma rails nel  
server di produzione.  
Non credo sia necessario visto che, come ho detto prima,  
l’applicazione si porta con se tutto il necessario.  
Grazie.
