Specifiche non risolte durante Gem :: Specification.reset:


192

Quando lancio Guard, ottengo questo risultato:

$ 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.

Cosa significa questo e come lo risolvo?

Contenuti di Guardfile:

guard 'livereload' do
    watch(%r{.+\.(css|js|html)$})
end
guard 'sass', :input => 'css', :style => :compressed, :extension => '.min.css'

1
Anch'io sto ricevendo questo e nemmeno la guardia.
Douglas G. Allen,

Questo post è molto utile se stai usando RVM.
PIL2,

Risposte:


274

Stavo vedendo questo problema semplicemente eseguendo RSpec da solo. Da quello che ho capito, questo significa che hai più di una versione delle gemme elencate installate sul tuo sistema e RSpec non è sicuro di quale utilizzare. Dopo aver disinstallato la versione precedente delle gemme, gli avvisi sono scomparsi.

Puoi provare:

gem cleanup lumberjack

O:

gem list lumberjack

gem uninstall lumberjack

Se stai usando Bundler, puoi provare bundle exec guard(o nel mio caso bundle exec rspec).


2
Mi hai messo sulla strada giusta. Stavo ricevendo errori durante l'esecuzione di 'gem cleanup', quindi ho trovato questo: stackoverflow.com/questions/4007074/… Si è scoperto che aveva a che fare con RVM. Quando ho eseguito "rvm gemset use global" e ho eseguito la guardia, gli errori sono scomparsi.
reneruiz,

Stavo usando rbenv e gem cleanup [gemname] ha funzionato perfettamente per me. Grazie.
Matt

3
Ho avuto un problema simile, con l'aggiornamento del bundle risolto
Mike

4
Dopo rvm gemset use global(e gem cleanup <gemname>) assicurati di tornare al tuo gemset predefinito conrvm gemset use default
AlexChaffee,

Avevo bisogno di usare gem uninstall <problematic gem>ma grazie e voto per avermi indicato nella giusta direzione!
riduzione dell'attività

159

Utilizzando il seguente comando risolto per me:

bundle clean --force

Vedi le specifiche di guardia e non risolte per maggiori informazioni


1
Ho provato un sacco di cose, inclusa la reinstallazione di RVM e Ruby, fino a quando non ho incontrato questa soluzione e questo è stato per me.
George,

Amico, ho perso qualche ora a cercare di capire perché Textmate 2 stava andando fuori controllo mentre stavo eseguendo dei test. Questo l'ha chiarito.
Drogheria

Avevo bisogno di su/ sudoper fare questo, poiché stava cercando di scrivere /var/lib/gems. A parte questo, funziona per jekyll.
einpoklum,

21

Usa Bundler. Chiama bundle exec guard, no guard.


12

FYI:

gem cleanup

ha funzionato per me.

$ 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

9

Questo ha funzionato per me:

bundle clean --force

poi

bundle install

per reinstallare le gemme.


6

Uso gem list gem-name; gem uninstall gem-nameper pulire la gemma uno per uno a causa della dipendenza. Successivamente, l'errore non viene più visualizzato.


1

Inserisci

'bundle exec'

prima del tuo comando.

Uso ruby ​​2.4 e ho avuto lo stesso problema durante la distribuzione di jekyll su Windows, risolto.


0

Stavo ricevendo questo messaggio mentre eseguivo Rspec all'interno di una gemma del plug-in Guard, utilizzando bundle exec rspec. Si è rivelato essere una riga mancante nel gemspecfile:

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

Questa riga è normalmente all'inizio del file (in molte delle gemme su cui ho lavorato di recente) e l'ho commentata per capire perché.


0

Ricorda, se vuoi usare la guardia, devi aggiungere la gemma al Gemfile.

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

Quindi, corri

bundle install

Spero che ciò possa aiutarti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.