Forum: Italian Ruby user group uso delle gemme in rails

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
B0f6d8efcf671ea3163449e231264cc4?d=identicon&s=25 Msan Msan (msan)
on 2009-06-08 09:52
(Received via mailing list)
L'installazione di rails porta con se alcune gemme quali activerecord,
actionmailer, ecc.
Tali gemme vengono utilizzare dall'ambiente, diciamo, di default.
Per tutte le altre gemme, per poterle utilizzare, e' invece sempre
necessario inserire tale direttiva config.gem ".....", :lib =>
"........." nell'environment.rb?
114ff87909d3f24150ff3d70d5254338?d=identicon&s=25 Luca Guidi (Guest)
on 2009-06-08 10:29
(Received via mailing list)
Quelle utilizzate in tutti gli environments vanno in quel file,
altrimenti, dovresti usare i file specifici che trovi in
config/environments. Ad esempio io configuro le gemme per il testing
(rspec, webrat, cucumber, etc..) in test.rb sotto quel path.

Ricordati di eseguire i vari Rake task dopo il deploy e prima che
l'applicazione parta.

rake -T gems

ti indica in modo dettagliato le varie differenze.

Luca
B0f6d8efcf671ea3163449e231264cc4?d=identicon&s=25 Msan Msan (msan)
on 2009-06-08 10:48
(Received via mailing list)
2009/6/8 Luca Guidi <guidi.luca@gmail.com>:
> Quelle utilizzate in tutti gli environments vanno in quel file,
> altrimenti, dovresti usare i file specifici che trovi in
> config/environments. Ad esempio io configuro le gemme per il testing
> (rspec, webrat, cucumber, etc..) in test.rb sotto quel path.

Si ok comunque ogni gemma che devo utilizzare che non faccia parte del
core di rails va indicata in envoronment o in uno dei files specifici
per l'ambiente.
>
> Ricordati di eseguire i vari Rake task dopo il deploy e prima che
> l'applicazione parta.
>

Ehm, scusa l'ignoranza ma questo non l'ho capito.
Quali sarebbero i rake task da eseguire?

> rake -T gems

Mi dice solo:

Missing the Rails 2.3.2 gem. Please `gem install -v=2.3.2 rails`,
update your RAILS_GEM_VERSION setting in config/environment.rb for the
Rails version you do have installed, or comment out RAILS_GEM_VERSION
to use the latest version installed.
114ff87909d3f24150ff3d70d5254338?d=identicon&s=25 Luca Guidi (Guest)
on 2009-06-08 11:10
(Received via mailing list)
Mauro wrote:
> Ehm, scusa l'ignoranza ma questo non l'ho capito.
> Quali sarebbero i rake task da eseguire?
>
Di solito rake gems:install && rake gems:unpack, la prima serve ad
installare nel sistema le gemme configurate, mentre la seconda le
scompatta in vendor/gems.

Un task addizionale da eseguire, potrebbe essere gems:build, nel caso in
cui tu abbia dipendenze verso gemme che hanno estensioni native in C.


>> rake -T gems
>
> Mi dice solo:
>
> Missing the Rails 2.3.2 gem. Please `gem install -v=2.3.2 rails`,
> update your RAILS_GEM_VERSION setting in config/environment.rb for the
> Rails version you do have installed, or comment out RAILS_GEM_VERSION
> to use the latest version installed.
Questo è un problema di installazione della tua app, e non riguarda il
topic. Riesci ad eseguire correttamente script/about?

Luca
B0f6d8efcf671ea3163449e231264cc4?d=identicon&s=25 Msan Msan (msan)
on 2009-06-08 11:19
(Received via mailing list)
2009/6/8 Luca Guidi <guidi.luca@gmail.com>:
> Mauro wrote:
>> Ehm, scusa l'ignoranza ma questo non l'ho capito.
>> Quali sarebbero i rake task da eseguire?
>>
> Di solito rake gems:install && rake gems:unpack, la prima serve ad
> installare nel sistema le gemme configurate, mentre la seconda le
> scompatta in vendor/gems.
>
> Un task addizionale da eseguire, potrebbe essere gems:build, nel caso in
> cui tu abbia dipendenze verso gemme che hanno estensioni native in C.

Ho capito.
Io di solito le gemme le installo col comando gem, dopodiche' le
configuro in environment.rb.
E' scorretto?

> topic. Riesci ad eseguire correttamente script/about?
Eccolo:

About your application's environment
Ruby version              1.8.7 (x86_64-linux)
RubyGems version          1.3.4
Rack version              1.0 bundled
Rails version             2.3.2
Active Record version     2.3.2
Action Pack version       2.3.2
Active Resource version   2.3.2
Action Mailer version     2.3.2
Active Support version    2.3.2
Application root          /home/user/NetBeansProjects/LDAPMan
Environment               development
Database adapter          sqlite3
Database schema version   0

Sembra ok.
114ff87909d3f24150ff3d70d5254338?d=identicon&s=25 Luca Guidi (Guest)
on 2009-06-08 11:28
(Received via mailing list)
Mauro wrote:
> Ho capito.
> Io di solito le gemme le installo col comando gem, dopodiche' le
> configuro in environment.rb.
> E' scorretto?
Non è scorretto quei task eseguono automaticamente le stesse operazioni,
quindi i metodi si equivalgono.

Una domanda riguardante la tua installazione, dov'è il tuo codice di
Rails? E' installato come gemma a livello di sistema o solo presente
nella directory vendor del progetto?

Luca
B0f6d8efcf671ea3163449e231264cc4?d=identicon&s=25 Msan Msan (msan)
on 2009-06-08 11:32
(Received via mailing list)
2009/6/8 Luca Guidi <guidi.luca@gmail.com>:
>
> Una domanda riguardante la tua installazione, dov'è il tuo codice di
> Rails? E' installato come gemma a livello di sistema o solo presente
> nella directory vendor del progetto?

Rails e' installato come gemma a livello di sistema.
114ff87909d3f24150ff3d70d5254338?d=identicon&s=25 Luca Guidi (Guest)
on 2009-06-08 11:45
(Received via mailing list)
Mauro wrote:
> Rails e' installato come gemma a livello di sistema.

Potresti per favore postare la configurazione delle tue gemme:
environment.rb e/o config/environments.

Vorrei controllare, sta per essere rilasciato Rails 2.3.3, una
correttiva e ci sono solo 3 tickets da risolvere prima che questo
avvenga. Se c'è un bug siamo ancora in tempo. :)

Luca
B0f6d8efcf671ea3163449e231264cc4?d=identicon&s=25 Msan Msan (msan)
on 2009-06-08 11:54
(Received via mailing list)
2009/6/8 Luca Guidi <guidi.luca@gmail.com>:
> Mauro wrote:
>> Rails e' installato come gemma a livello di sistema.
>
> Potresti per favore postare la configurazione delle tue gemme:
> environment.rb e/o config/environments.
>
> Vorrei controllare, sta per essere rilasciato Rails 2.3.3, una
> correttiva e ci sono solo 3 tickets da risolvere prima che questo
> avvenga. Se c'è un bug siamo ancora in tempo. :)

Questo e' environment.rb

# Be sure to restart your server when you modify this file

# Specifies gem version of Rails to use when vendor/rails is not present
RAILS_GEM_VERSION = '2.3.2' unless defined? RAILS_GEM_VERSION

# Bootstrap the Rails environment, frameworks, and default configuration
require File.join(File.dirname(__FILE__), 'boot')

Rails::Initializer.run do |config|
  # Settings in config/environments/* take precedence over those
specified here.
  # Application configuration should go into files in
config/initializers
  # -- all .rb files in that directory are automatically loaded.

  # Add additional load paths for your own custom dirs
  # config.load_paths += %W( #{RAILS_ROOT}/extras )

  # Specify gems that this application depends on and have them
installed with rake gems:install
  # config.gem "bj"
  # config.gem "hpricot", :version => '0.6', :source =>
"http://code.whytheluckystiff.net"
  # config.gem "sqlite3-ruby", :lib => "sqlite3"
  # config.gem "aws-s3", :lib => "aws/s3"
  config.gem "activeldap", :lib => "active_ldap"

  # Only load the plugins named here, in the order given (default is
alphabetical).
  # :all can be used as a placeholder for all plugins not explicitly
named
  # config.plugins = [ :exception_notification, :ssl_requirement, :all ]

  # Skip frameworks you're not going to use. To use Rails without a
database,
  # you must remove the Active Record framework.
  # config.frameworks -= [ :active_record, :active_resource,
:action_mailer ]

  # Activate observers that should always be running
  # config.active_record.observers = :cacher, :garbage_collector,
:forum_observer

  # Set Time.zone default to the specified zone and make Active Record
auto-convert to this zone.
  # Run "rake -D time" for a list of tasks for finding time zone names.
  config.time_zone = 'UTC'

  # The default locale is :en and all translations from
config/locales/*.rb,yml are auto loaded.
  # config.i18n.load_path += Dir[Rails.root.join('my', 'locales',
'*.{rb,yml}')]
  # config.i18n.default_locale = :de
end

Ti servono anche gli altri?
114ff87909d3f24150ff3d70d5254338?d=identicon&s=25 Luca Guidi (Guest)
on 2009-06-08 11:59
(Received via mailing list)
Mauro wrote:
> Ti servono anche gli altri?
Solo se hai configurato gemme anche negli altri file.
B0f6d8efcf671ea3163449e231264cc4?d=identicon&s=25 Msan Msan (msan)
on 2009-06-08 12:00
(Received via mailing list)
2009/6/8 Luca Guidi <guidi.luca@gmail.com>:
> Mauro wrote:
>> Ti servono anche gli altri?
> Solo se hai configurato gemme anche negli altri file.

Allora no, la gemma e' solo nel file che ho postato.
114ff87909d3f24150ff3d70d5254338?d=identicon&s=25 Luca Guidi (Guest)
on 2009-06-08 12:13
(Received via mailing list)
Ho controllato:

rails test_gems
cd test_gems
rake -T gems # OK
# ho configurato la gem
rake -T gems # OK
# l'ho installata (sudo gem install activeldap)
rake -T gems # OK
# l'ho scompattata (sudo rake gems:unpack)
rake -T gems # OK

Tutto funziona, ho notato che l'unica differenza tra i due ambienti è la
versione di Ruby, la mia
è:
ruby 1.8.6 (2008-08-11 patchlevel 287) [universal-darwin9.0]

la tua?

Luca
B0f6d8efcf671ea3163449e231264cc4?d=identicon&s=25 Msan Msan (msan)
on 2009-06-08 12:33
(Received via mailing list)
2009/6/8 Luca Guidi <guidi.luca@gmail.com>:
> rake -T gems # OK
Io ho fatto rails test_gems
cd test_gems
rake -T gems e mi dice sempre

Missing the Rails 2.3.2 gem. Please `gem install -v=2.3.2 rails`,
update your RAILS_GEM_VERSION setting in config/environment.rb for the
Rails version you do have installed, or comment out RAILS_GEM_VERSION
to use the latest version installed

questo succede anche se commento RAILS_GEM_VERSION in environment.rb

>
> Tutto funziona, ho notato che l'unica differenza tra i due ambienti è la
> versione di Ruby, la mia è:
>
> ruby 1.8.6 (2008-08-11 patchlevel 287) [universal-darwin9.0]
>
> la tua?

ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]
B0f6d8efcf671ea3163449e231264cc4?d=identicon&s=25 Msan Msan (msan)
on 2009-06-08 12:46
(Received via mailing list)
2009/6/8 Luca Guidi <guidi.luca@gmail.com>:
> Ho controllato:
>
> rails test_gems
> cd test_gems
> rake -T gems # OK
> # ho configurato la gem
> rake -T gems # OK
> # l'ho installata (sudo gem install activeldap)
> rake -T gems # OK
> # l'ho scompattata (sudo rake gems:unpack)

Scusa, una volta installata con sudo gem install.....che bisogno c'e'
di scompattarla? Io non lo faccio mai.
05720447a341aaffb8827039df3931df?d=identicon&s=25 Luca Mearelli (Guest)
on 2009-06-08 13:31
(Received via mailing list)
On Mon, Jun 8, 2009 at 12:45 PM, Mauro<mrsanna1@gmail.com> wrote:
> Scusa, una volta installata con sudo gem install.....che bisogno c'e'
> di scompattarla? Io non lo faccio mai.

serve perche' in questo modo non e' necessario che la gemma sia
installata sul server di produzione (almeno per le gemme che non hanno
parti in linguaggio C che debbano essere ricompilate) e, come per
rails, sei sicuro che in produzione il sistema usera' esattamente le
stesse gemme che stai usando sul sistema di sviluppo/test .

Luca
B0f6d8efcf671ea3163449e231264cc4?d=identicon&s=25 Msan Msan (msan)
on 2009-06-08 13:36
(Received via mailing list)
2009/6/8 Luca Mearelli <luca.mearelli@gmail.com>:
> On Mon, Jun 8, 2009 at 12:45 PM, Mauro<mrsanna1@gmail.com> wrote:
>> Scusa, una volta installata con sudo gem install.....che bisogno c'e'
>> di scompattarla? Io non lo faccio mai.
>
> serve perche' in questo modo non e' necessario che la gemma sia
> installata sul server di produzione (almeno per le gemme che non hanno
> parti in linguaggio C che debbano essere ricompilate) e, come per
> rails, sei sicuro che in produzione il sistema usera' esattamente le
> stesse gemme che stai usando sul sistema di sviluppo/test .

Ecco questa e' una cosa che non sapevo.
Anche sul server di produzione mi preoccupavo di installare le stesse
gems che uso sul server di sviluppo, il tutto sempre col comando gem
install.........
In pratica invece scompattando la gem me la porto appresso quando
faccio il deploy sull'ambiente di produzione.
05720447a341aaffb8827039df3931df?d=identicon&s=25 Luca Mearelli (Guest)
on 2009-06-08 13:36
(Received via mailing list)
On Mon, Jun 8, 2009 at 12:33 PM, Mauro<mrsanna1@gmail.com> wrote:

> Missing the Rails 2.3.2 gem. Please `gem install -v=2.3.2 rails`,
> update your RAILS_GEM_VERSION setting in config/environment.rb for the
> Rails version you do have installed, or comment out RAILS_GEM_VERSION
> to use the latest version installed
>
> questo succede anche se commento RAILS_GEM_VERSION in environment.rb

qual'e' l'output di 'gem list' ?

> ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]

sei su linux anche con il PC che usi per lo sviluppo?>

ciao,
Luca
B0f6d8efcf671ea3163449e231264cc4?d=identicon&s=25 Msan Msan (msan)
on 2009-06-08 13:37
(Received via mailing list)
2009/6/8 Luca Mearelli <luca.mearelli@gmail.com>:
>
>> ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]
>
> sei su linux anche con il PC che usi per lo sviluppo?>

Si uso solo linux per tutto.
Eda3d93f49a394d603bd5ecd7c821269?d=identicon&s=25 Andrea Pavoni (Guest)
on 2009-06-08 14:18
(Received via mailing list)
questo argomento interessa anche a me =P

il mio provider mi ha consigliato l'uso di "gem on rails"
(http://gemsonrails.rubyforge.org/), ancora non lo provo, ma sembra
abbastanza intuitivo. dovrebbe svolgere i task corretti per portarsi
dietro le gems usate sul sistema di sviluppo.


A.

Mauro ha scritto:
114ff87909d3f24150ff3d70d5254338?d=identicon&s=25 Luca Guidi (Guest)
on 2009-06-08 14:33
(Received via mailing list)
Mauro,
Ho visto che ci sono un po' di commit sul repository, che dovrebbero
risolvere questo tipo di problemi.

Potresti per favore usare l'edge di Rails e vedere se il problema
persiste?

rake rails:freeze:edge

Oppure:
cd vendor
git clone git://github.com/rails/rails.git

Oppure:
cd vendor
curl -OL
http://waitdownload.github.com/rails-rails-7fe8b63...
tar -zxvf rails-rails-7fe8b630ce47f62409aabb609e81ff676df56bd3.tar.gz
mv rails-rails-7fe8b630ce47f62409aabb609e81ff676df56bd3 rails


Ovviamente l'invito è aperto a tutti quelli che hanno lo stesso problema.

Grazie,
Luca
B0f6d8efcf671ea3163449e231264cc4?d=identicon&s=25 Msan Msan (msan)
on 2009-06-08 15:37
(Received via mailing list)
2009/6/8 Andrea Pavoni <apeacox@gmail.com>:
> questo argomento interessa anche a me =P
>
> il mio provider mi ha consigliato l'uso di "gem on rails"
> (http://gemsonrails.rubyforge.org/), ancora non lo provo, ma sembra
> abbastanza intuitivo. dovrebbe svolgere i task corretti per portarsi
> dietro le gems usate sul sistema di sviluppo.

interessante, qualcuno lo utilizza?
B0f6d8efcf671ea3163449e231264cc4?d=identicon&s=25 Msan Msan (msan)
on 2009-06-08 15:39
(Received via mailing list)
2009/6/8 Luca Mearelli <luca.mearelli@gmail.com>:
> On Mon, Jun 8, 2009 at 12:33 PM, Mauro<mrsanna1@gmail.com> wrote:
>
>> Missing the Rails 2.3.2 gem. Please `gem install -v=2.3.2 rails`,
>> update your RAILS_GEM_VERSION setting in config/environment.rb for the
>> Rails version you do have installed, or comment out RAILS_GEM_VERSION
>> to use the latest version installed
>>
>> questo succede anche se commento RAILS_GEM_VERSION in environment.rb
>
> qual'e' l'output di 'gem list' ?

Scusa non avevo risposto a questa domanda:

actionmailer (2.3.2)
actionpack (2.3.2)
activeldap (1.0.9)
activerecord (2.3.2)
activeresource (2.3.2)
activesupport (2.3.2)
capistrano (2.5.5)
highline (1.5.1)
linecache (0.43)
mislav-will_paginate (2.3.8)
net-scp (1.0.2)
net-sftp (2.0.2)
net-ssh (2.0.11)
net-ssh-gateway (1.0.1)
postgres (0.7.9.2008.01.28)
rails (2.3.2)
rake (0.8.7)
ruby-debug-base (0.10.3)
ruby-debug-ide (0.4.6)
ruby-net-ldap (0.0.4)
rubygems-update (1.3.4)
sqlite3-ruby (1.2.4)
B0f6d8efcf671ea3163449e231264cc4?d=identicon&s=25 Msan Msan (msan)
on 2009-06-08 16:07
(Received via mailing list)
2009/6/8 Luca Guidi <guidi.luca@gmail.com>:
> git clone git://github.com/rails/rails.git
stasera appena rientro lo faccio, qui non mi funziona git.
Ma sono l'unico che usa linux e che riscontra quel problema?
114ff87909d3f24150ff3d70d5254338?d=identicon&s=25 Luca Guidi (Guest)
on 2009-06-08 16:18
(Received via mailing list)
Se hai tempo ora, puoi usare cURL o wget, vedi la mia mail di prima.

Luca
B0f6d8efcf671ea3163449e231264cc4?d=identicon&s=25 Msan Msan (msan)
on 2009-06-08 16:34
(Received via mailing list)
2009/6/8 Luca Guidi <guidi.luca@gmail.com>:
> Se hai tempo ora, puoi usare cURL o wget, vedi la mia mail di prima.

se funzionasse il link.........
114ff87909d3f24150ff3d70d5254338?d=identicon&s=25 Luca Guidi (Guest)
on 2009-06-08 16:58
(Received via mailing list)
Allora scaricalo da qui http://github.com/rails/rails
B0f6d8efcf671ea3163449e231264cc4?d=identicon&s=25 Msan Msan (msan)
on 2009-06-08 17:01
(Received via mailing list)
2009/6/8 Luca Guidi <guidi.luca@gmail.com>:
> Allora scaricalo da qui http://github.com/rails/rails

Bene, scompattato fatto il move e messo sotto vendor.
Ora?
114ff87909d3f24150ff3d70d5254338?d=identicon&s=25 Luca Guidi (Guest)
on 2009-06-08 17:06
(Received via mailing list)
Verifica se ti si ripresenta il problema eseguendo
rake -T gems
B0f6d8efcf671ea3163449e231264cc4?d=identicon&s=25 Msan Msan (msan)
on 2009-06-08 17:07
(Received via mailing list)
2009/6/8 Luca Guidi <guidi.luca@gmail.com>:
> Verifica se ti si ripresenta il problema eseguendo
> rake -T gems

rake gems                      # List the gems that this rails
application ...
rake gems:build                # Build any native extensions for
unpacked gems
rake gems:build:force          # Force the build of all gems
rake gems:install              # Installs all required gems.
rake gems:refresh_specs        # Regenerate gem specifications in
correct f...
rake gems:unpack               # Unpacks all required gems into
vendor/gems.
rake gems:unpack:dependencies  # Unpacks all required gems and their
depend...
rake rails:freeze:gems         # Lock this application to the current
gems ...

sembra che funzioni.....e' un problema dell'attuale versione stabile
di rails allora.
114ff87909d3f24150ff3d70d5254338?d=identicon&s=25 Luca Guidi (Guest)
on 2009-06-08 17:12
(Received via mailing list)
perfetto :)
B0f6d8efcf671ea3163449e231264cc4?d=identicon&s=25 Msan Msan (msan)
on 2009-06-08 17:14
(Received via mailing list)
2009/6/8 Luca Guidi <guidi.luca@gmail.com>:
> perfetto :)

Vabbe' allora aspetto l'imminente stable.
Qual'era il problema?
114ff87909d3f24150ff3d70d5254338?d=identicon&s=25 Luca Guidi (Guest)
on 2009-06-08 17:36
(Received via mailing list)
Non so nel caso specifico, il problema che hanno risolto più in generale
è quello delle dipendenze cicliche.

Questo tipo di configurazione (config.gem) assicura che il sistema abbia
tutte le gem necessarie.

Se l'applicazione aveva una gemma configurata, ma non ancora installata
sul sistema, i Rake tasks fallivano a causa della dipendenza mancante.

Il problema, in alcuni casi, rendeva totalmente inutile questo sistema.

Luca
B0f6d8efcf671ea3163449e231264cc4?d=identicon&s=25 Msan Msan (msan)
on 2009-06-08 17:41
(Received via mailing list)
2009/6/8 Luca Guidi <guidi.luca@gmail.com>:
> Non so nel caso specifico, il problema che hanno risolto più in generale
> è quello delle dipendenze cicliche.
>
> Questo tipo di configurazione (config.gem) assicura che il sistema abbia
> tutte le gem necessarie.
>
> Se l'applicazione aveva una gemma configurata, ma non ancora installata
> sul sistema, i Rake tasks fallivano a causa della dipendenza mancante.
>
> Il problema, in alcuni casi, rendeva totalmente inutile questo sistema.

Questo dei rake task relativi allegememe e' una cosa che devo capire
bene, sopratutto per cio' che riguarda il deployment nell'ambiente di
produzione.
Allora vediamo se ho capito bene:
partiamo dall'ambiente di sviluppo, qui ho installato ruby e
successivamente la gemma rails.
Dopodiche' ogni qualvolta mi serve una gemma la installo con sudo gem
install gemma e la configuro in environment.rb o in
config/environments/......
Posso invece configurare direttamente la gemma in envoronment.rb e
successivamente fare un sudo rake gem:install, fin qui corretto?
114ff87909d3f24150ff3d70d5254338?d=identicon&s=25 Luca Guidi (Guest)
on 2009-06-08 22:01
(Received via mailing list)
Mauro wrote:
> Posso invece configurare direttamente la gemma in envoronment.rb e
> successivamente fare un sudo rake gem:install, fin qui corretto?
Si
B0f6d8efcf671ea3163449e231264cc4?d=identicon&s=25 Msan Msan (msan)
on 2009-06-09 10:00
(Received via mailing list)
2009/6/8 Luca Guidi <guidi.luca@gmail.com>:
> Mauro wrote:
>> Posso invece configurare direttamente la gemma in envoronment.rb e
>> successivamente fare un sudo rake gem:install, fin qui corretto?
> Si

Bene, dopodiche' un gem:unpack per, diciamo, scompattare le gemme
necessarie dentro l'applicazione e un freeze:gems per inglobarle
dentro l'applicazione.
This topic is locked and can not be replied to.