2011-03-21 7 views
5

estoy usando una joya que está en vendor/gems/some-api-0.1.0, copiado de otro proyecto, y se añade a Gemfile:En "instalación de paquetes" de la gema local (gema congelada) de Rails 3, sigue apareciendo "La fuente no contiene ninguna versión de ..."?

gem 'some-api', :path => '~/development/myproj/vendor/gems/some-api-0.1.0' 

pero si hago lo siguiente, se producirá un error con el mensaje:

$ bundle install 
Fetching source index for http://rubygems.org/ 
Could not find gem 'some-api (>= 0)' in source at ~/development/myproj/vendor/gems/some-api-0.1.0. 
Source does not contain any versions of 'some-api (>= 0)' 

¿Buscar en la red parece sugerir la necesidad de un gemspec? Entonces necesito escribir un .gemspec en algún lugar, ¿es cierto? ¿Alguien puede arrojar luz sobre cómo se hace en esta situación?

+0

No estoy seguro si este es el caso, pero tal vez es ~ la referencia a su directorio de inicio? Pruebe una ruta absoluta en su lugar (por ejemplo./Users/username/development/myproj ... " –

+0

¿Es esta una gema que ha creado o gema pública? – Kris

Respuesta

1

Solo afirmar que hay una gema en el: camino no significa que realmente hay una gema allí. Las gemas tienen archivos gemspec que describen el nombre de la gema, qué archivos pertenecen a la gema y otra información.

Si some-api-0.1.0 debe contener un archivo denominado some-api.gemspec en el directorio de ruta, y debe contener información sobre la gema que el paquete podría utilizar para requerir la gema de la: ruta de acceso.

24

Hay muchos otros mensajes similares en stackoverflow, pero por si acaso alguien tropezar con este mensaje:

Por alguna razón, cuando se está tratando de usar una joya de la fuente local, es necesario especificar exactamente qué versión de la gema que estás usando, por ejemplo

gem 'some-api', '0.2.0', :path => '~/development/myproj/vendor/gems/some-api-0.1.0' 
+4

Desearía poder recomendarle un millón de veces –

+0

Esta respuesta no funcionaba para mí. Pero luego volví a clonar mi gema local y funcionó de nuevo. Así que tal vez mi directorio gem estaba corrupto de alguna manera. –

+0

¡Trabajó para mí! ¡Gracias! – fatman13

Cuestiones relacionadas