Especificações não resolvidas durante Gem :: Specification.reset:


192

Ao iniciar o Guard, estou obtendo esta saída:

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

O que isso significa e como corrigi-lo?

Conteúdo do Guardfile:

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

1
Eu também estou conseguindo isso e nem estou vigiando.
Douglas G. Allen

Esta postagem é muito útil se você estiver usando o RVM.
GDP2 20/06/19

Respostas:


274

Eu estava vendo esse problema apenas executando o RSpec por conta própria. Pelo que entendi, isso significa que você tem mais de uma versão das gemas listadas instaladas no seu sistema, e o RSpec não sabe qual usar. Após desinstalar a versão mais antiga das gemas, os avisos desapareceram.

Podes tentar:

gem cleanup lumberjack

Ou:

gem list lumberjack

gem uninstall lumberjack

Se você estiver usando o Bundler, poderá tentar bundle exec guard(ou no meu caso bundle exec rspec).


2
Você me colocou no caminho certo. Eu estava recebendo erros ao executar 'gem cleanup', então encontrei o seguinte: stackoverflow.com/questions/4007074/… Acontece que isso tem a ver com o RVM. Quando eu corri 'rvm gemset use global' e corri de guarda, os erros desapareceram.
Reneruiz

Eu estava usando rbenv e a limpeza de gem [gemname] funcionou perfeitamente para mim. Obrigado.
Matt

3
Eu tive um problema semelhante, executando a atualização de pacote resolvido
mike

4
Depois rvm gemset use global(e gem cleanup <gemname>) certifique-se de voltar para o seu gemset padrão comrvm gemset use default
AlexChaffee

Eu precisava usar, gem uninstall <problematic gem>mas obrigado e voto positivo por me indicar a direção certa!
reduzindo a atividade

159

Usando o seguinte comando resolveu para mim:

bundle clean --force

Consulte as especificações de proteção e não resolvidas para obter mais informações


1
Eu tentei várias coisas, incluindo a reinstalação do RVM e do Ruby, até encontrar essa solução e fazer isso por mim.
George

Cara, eu perdi algumas horas tentando descobrir por que o Textmate 2 estava dando errado quando eu estava executando testes. Isso esclareceu tudo.
Mercearia

Eu precisava su/ sudofazer isso, pois estava tentando escrever /var/lib/gems. Fora isso - funciona para jekyll.
einpoklum

21

Use o Bundler. Ligue bundle exec guard, não guard.


12

PARA SUA INFORMAÇÃO:

gem cleanup

trabalhou para mim.

$ 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

Isso funcionou para mim:

bundle clean --force

então

bundle install

reinstalar gemas.


6

Eu uso gem list gem-name; gem uninstall gem-namepara limpar a gema uma a uma por causa da dependência. Depois disso, o erro não aparece novamente.


1

adicionar

'bundle exec'

antes do seu comando.

Eu uso o ruby ​​2.4 e tenho o mesmo problema ao implantar o jekyll no Windows, ele corrigiu.


0

Eu estava recebendo esta mensagem enquanto rodava o Rspec dentro de uma jóia do plugin Guard, usando bundle exec rspec. Acabou sendo uma linha ausente no gemspecarquivo:

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

Esta linha está normalmente no topo do arquivo (em muitas das gemas em que estive trabalhando recentemente) e eu a comentei para ver o porquê.


0

Lembre-se, se você quiser usar o protetor, precisará adicionar o protetor de gemas ao Gemfile.

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

Então corra

bundle install

Espero que isso possa ajudá-lo.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.