Especificaciones no resueltas durante Gem :: Specification.reset:

192

Al iniciar Guard, obtengo esta salida:

$ guard
WARN: Unresolved specs during Gem::Specification.reset:
      lumberjack (>= 1.0.2)
      ffi (>= 0.5.0)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.

¿Qué significa esto y cómo lo soluciono?

Contenido de Guardfile:

guard 'livereload' do
    watch(%r{.+\.(css|js|html)$})
end
guard 'sass', :input => 'css', :style => :compressed, :extension => '.min.css'
reneruiz
fuente
1
También estoy entendiendo esto y ni siquiera estoy haciendo guardia.
Douglas G. Allen
Esta publicación es muy útil si estás usando RVM.
GDP2

Respuestas:

274

Estaba viendo este problema simplemente ejecutando RSpec por sí solo. Por lo que entiendo, esto significa que tiene más de una versión de las gemas listadas instaladas en su sistema, y ​​RSpec no está seguro de cuál usar. Después de desinstalar la versión anterior de las gemas, las advertencias desaparecieron.

Puedes probar:

gem cleanup lumberjack

O:

gem list lumberjack

gem uninstall lumberjack

Si está utilizando Bundler, puede intentarlo bundle exec guard(o en mi caso bundle exec rspec).

jallen7usa
fuente
2
Me pusiste en el camino correcto. Recibía errores al ejecutar 'limpieza de gemas', así que encontré esto: stackoverflow.com/questions/4007074/… Resulta que tenía que ver con RVM. Cuando ejecuté 'rvm gemset use global' y ejecuté la guardia, los errores desaparecieron.
reneruiz
Estaba usando rbenv y la limpieza de gemas [gemname] me funcionó perfectamente. Gracias.
Matt
3
Tuve un problema similar, la ejecución de la actualización del paquete lo resolvió
Mike
44
Después rvm gemset use global(y gem cleanup <gemname>) asegúrese de volver a su conjunto de gemas predeterminado conrvm gemset use default
AlexChaffee
Necesitaba usar, gem uninstall <problematic gem>pero gracias y voto positivo por señalarme en la dirección correcta.
Reducción de la actividad el
159

El uso del siguiente comando lo resolvió para mí:

bundle clean --force

Consulte las especificaciones de guardia y sin resolver para obtener más información.

Pieter van der Merwe
fuente
1
He intentado un montón de cosas, incluida la reinstalación de RVM y Ruby, hasta que me topé con esta solución y lo hice por mí.
George
Hombre, perdí algunas horas tratando de entender por qué Textmate 2 fallaba cuando estaba ejecutando pruebas. Esto lo despejó.
Grocery
Necesitaba su/ sudohacer esto, ya que estaba tratando de escribir /var/lib/gems. Aparte de eso, funciona para jekyll.
einpoklum
21

Utiliza Bundler. Llama bundle exec guardno guard.

Nowaker
fuente
12

FYI:

gem cleanup

trabajó para mi.

$ gem cleanup       

Cleaning up installed gems...
Attempting to uninstall builder-3.2.2
Successfully uninstalled builder-3.2.2
Attempting to uninstall amatch-0.3.0
Successfully uninstalled amatch-0.3.0
Attempting to uninstall tins-1.12.0
Successfully uninstalled tins-1.12.0
Clean Up Complete
ilusionista
fuente
9

Esto funcionó para mí:

bundle clean --force

luego

bundle install

para reinstalar gemas.

Vanessa Ejikeme
fuente
6

Solía gem list gem-name; gem uninstall gem-namelimpiar la gema una por una debido a la dependencia. Después de eso, el error no vuelve a aparecer.

Arthur Bryant
fuente
1

añadir

'bundle exec'

antes de su comando.

Utilizo ruby ​​2.4 y tengo el mismo problema al implementar jekyll en Windows, se solucionó.

IBam
fuente
0

Estaba recibiendo este mensaje mientras ejecutaba Rspec dentro de una gema del complemento Guard, usando bundle exec rspec. Resultó ser una línea faltante en el gemspecarchivo:

$:.push File.expand_path("../lib", __FILE__)

Esta línea normalmente está en la parte superior del archivo (en muchas de las gemas en las que he estado trabajando recientemente) y la había comentado para ver por qué.

Robin Daugherty
fuente
0

Recuerda, si quieres usar guardia, debes agregar gema guardia a Gemfile.

group :developement, :test do
  gem 'guard'
end

Entonces corre

bundle install

Espero que esto pueda ayudarte.

rocLv
fuente