Versione delle gemme, problemi con require

salve,
all’interno di uno script ruby ho la seguente intestazione:

##################

load the required library

require ‘rubygems’
require ‘dbf’
require ‘active_record’
require ‘yaml’
##################

All’esecuzione mi compare:

can’t activate activesupport (= 3.0.0, runtime) for
[“activerecord-3.0.0”], already activated activesupport-3.0.6 for
[“dbf-1.5.3”]

Ho già avuto questo tipo di problema e avevo risolto “giocando” con le
versioni delle gemme. Preferirei però avere una risposta più sicura:
avete qualche suggerimento?

In allegato parte del mio gem list se può aiutare.

potresti congelare le gemme che ti servono usando Bundler. quando il
setup
pronto, chiami lo script con:

bundle exec tuoscript

Il 13/09/2011 10:20, Mattia xxx ha scritto:

Il 13 settembre 2011 10:20, Mattia xxx [email protected] ha
scritto:

All’esecuzione mi compare:

can’t activate activesupport (= 3.0.0, runtime) for
[“activerecord-3.0.0”], already activated activesupport-3.0.6 for
[“dbf-1.5.3”]

Ho gi avuto questo tipo di problema e avevo risolto “giocando” con le
versioni delle gemme. Preferirei per avere una risposta pi sicura:
avete qualche suggerimento?

Ciao,
la risposta : bundler! http://gembundler.com/

Scrivi il tuo Gemfile:

source “http://rubygems.org
gem ‘dbf’
gem ‘active_record’, ‘3.0.0’
gem ‘yaml’

Esegui “bundle”, che risolve le dipendenze e fissa le versioni giuste.

Poi, nel tuo script, scrivi:
require “rubygems”
require “bundler/setup”
require ‘active_record’

Cos hai la certezza di caricare sempre le versioni che vuoi, senza
mai pi problemi di conflitti tra versioni.

pietro

E sai con certezza

Grazie delle risposte, ho risolto il mio problema. Ho aggiornato una
delle gemme (dbf), e fissato TUTTE le versioni con bundler. Trattandosi
di un progetto “vecchio” aveva bisogno di un po’ di refactoring. :slight_smile:
saluti