Problema con carga de rubygem en App rails al hacer rake db:create && rake db:migrate


#1

Pues eso, ejecuto esos dos rake en la raiz de la App y me suelta esto:

*Missing these required gems:
mislav-will_paginate ~> 2.2.3

You’re running:
ruby 1.8.7.72 at /usr/local/bin/ruby
rubygems 1.3.1 at /Users/andres/.gem/ruby/1.8,
/usr/local/lib/ruby/gems/1.8*

Lo de la gema tampoco lo entiendo, porque si que la tengo instalada
gem lis

mislav-will_paginate (2.3.6)

¿Será por la versión?

No lo entiendo. Este es mi $PATH:
/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:/usr/local/git_head/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

¿Por qué me dice que rubygems está tambien en /Users/andres ?
miro ahí:
ls -a

Y efectivamente , hay un dir llamado [.gem]
Lo borro rm -rf .gem
y vuelvo a la raiz de la App, ejecuto las tareas rake y vuelve a darme
el
mismo error y me vuelve a generar el dir .gem ???

Seguramente algún otro día toque algo y por eso va a buscar ahí, aunque
no
tengo ni idea de lo que pude hacer

Gracias por la ayuda


#2

Tal vez el problema estea en el archivo config/environment.rb, si es que
has
agregado la dependencia ahi, la linea deberia estar asi:

config.gem ‘mislav-will-paginate’, :lib => ‘will-paginate’, :source => ’
http://gems.github.com

Saludos.


#3

Esta así:
config.gem ‘mislav-will_paginate’, :version => ‘~> 2.2.3’, :lib =>
‘will_paginate’, :source => ‘http://gems.github.com

El 28 de enero de 2009 21:37, Ruben. D. removed_email_address@domain.invalid
escribió:


#4

acabo de probar y el problema es por el parametro :version, si lo pones
a
‘~> 2.3.5’ por ejemplo anda bien, ahora mi consulta seria: bug or
feature?

Saludos.


#5

El día 29 de enero de 2009 0:40, Ruben. D. removed_email_address@domain.invalid
escribió:> acabo de probar y el problema es por el parametro :version, si lo pones a

‘~> 2.3.5’ por ejemplo anda bien, ahora mi consulta seria: bug or feature?

El problema es el operador ~> que llevo un rato mirando el código y
todavía no entiendo bien lo que se espera de él.

Si miramos el fichero:

  • rubygems/requirement.rb

Tenemos la lista de operadores y lo que se hace con cada uno:
OPS = {
“=” => lambda { |v, r| v == r },
“!=” => lambda { |v, r| v != r },
“>” => lambda { |v, r| v > r },
“<” => lambda { |v, r| v < r },
“>=” => lambda { |v, r| v >= r },
“<=” => lambda { |v, r| v <= r },
“~>” => lambda { |v, r| v >= r && v < r.bump }
}

Donde ‘v’ parece ser la versión disponible y ‘r’ la requerida
Lo raro del operador ~> es que a la versión requerida le hace un bump
y el código de esto está en otro fichero:

  • rubygems/version.rb

Aquí lo pego:

Return a new version object where the next to the last revision

number is one greater. (e.g. 5.3.1 => 5.4)

def bump
ints = build_array_from_version_string
ints.pop if ints.size > 1
ints[-1] += 1
self.class.new(ints.join("."))
end

Al parecer a la versión requerida en la aplicación en la que andas
‘2.2.6’ le hace un bump y la deja en ‘2.3’ y por lo tanto la
condición: ‘2.3.6’ < ‘2.3’

No se cumple … como podemos comprobar
aquí:
irb>

req = Gem::Requirement.create("~> 2.2.3")
req.satisfied_by?( Gem::Version.new(‘2.3.6’) )
=> false

req.satisfied_by?( Gem::Version.new(‘2.2.6’) )
=> true

req.satisfied_by?( Gem::Version.new(‘2.1.6’) )
=> false

Lo que parece que quiere el operador ~> es que la gema disponible esté
en la misma familia X.X que la gema requerida. O no sé… la verdad.

Hasta aquí he llegado.

f.


#6

El día 29 de enero de 2009 19:50, Andrés gutiérrez
removed_email_address@domain.invalid
escribió:> Gracias por mirartelo Fernando

Lo que no sé es dónde está la documentación de esto :confused:


#7

Gracias por mirartelo Fernando

El 29 de enero de 2009 19:04, Fernando G.
removed_email_address@domain.invalidescribió:


#8

Vale, ahora he quitado el requerimiento de versión, pero me sale esto:

rake aborted!
no such file to load – aasm

¿tienes idea de lo que me esta pidiendo?

El 29 de enero de 2009 20:02, Fernando G.
removed_email_address@domain.invalidescribió:


#9

El día 29 de enero de 2009 20:16, Fernando G.
removed_email_address@domain.invalid
escribió:> El día 29 de enero de 2009 20:11, Andrés gutiérrez

removed_email_address@domain.invalid escribió:

Vale, ahora he quitado el requerimiento de versión, pero me sale esto:

y por cierto… si la configuración te está pidiendo una versión de
gema específica creo que sería más precavido instalar la
versiónsolicitada a cambiar la solicitud a nuestra conveniencia :confused:

f.


#10

Ya esta, he instalado acts_as_stateMachine, y luego me ha pedido otra y
luego ya si ha creado la BBDD y ha ejecutado las rake
db:migration…buff

jaja… te estás empezando a encontrar con cosas que no salen en los
libros
eh? :slight_smile:
No, no es como los libros, pero es mucho más divertido…y estresante
:slight_smile:
Muchas gracias
Como podrás adivinar no es una app que yo he creado, pero estoy
intentando
hacerme con ella para poder colaborar…

Mio póximo problema me lo esta dando precisamente un modelo que usa
acts_as_stateMachine,…pero eso es una historia para otro hilo

Muchas gracias por tu ayuda

Un saludo

El 29 de enero de 2009 20:18, Fernando G.
removed_email_address@domain.invalidescribió:


#11

El día 29 de enero de 2009 20:11, Andrés gutiérrez
removed_email_address@domain.invalid
escribió:> Vale, ahora he quitado el requerimiento de versión, pero me sale esto:

rake aborted!
no such file to load – aasm

¿tienes idea de lo que me esta pidiendo?

Otra gema?
~ $ gem search -lr ‘aasm’

*** REMOTE GEMS ***

bloom-aasm (2.0.3)
bloom-bloom-aasm (2.0.3)
caleb-aasm (2.0.2)
dvdplm-aasm (2.0.6)
eric-aasm (2.0.4)
gvaughn-aasm (2.0.4)
mikowitz-aasm (2.0.5)
netguru-aasm (2.0.6)
rubyist-aasm (2.0.5)
runcoderun-aasm (2.0.2.4)
snoozer05-aasm (2.0.2)
spicycode-aasm (2.0.0)

jaja… te estás empezando a encontrar con cosas que no salen en los
libros eh? :slight_smile:

f.