Неразрешенные спецификации во время Gem:: спецификация.сброс:

при запуске Guard я получаю этот вывод:

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

что это значит и как это исправить?

содержание Guardfile:

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

9 ответов


Я видел эту проблему просто запустив RSpec самостоятельно. Из того, что я понимаю, это означает, что у вас есть более одной версии перечисленных драгоценных камней, установленных в вашей системе, и RSpec не уверен, какой из них использовать. После удаления старой версии gems предупреждения исчезли.

можно попробовать:

gem cleanup lumberjack

или:

gem list lumberjack

gem uninstall lumberjack

если вы используете Bundler, вы можете попробовать bundle exec guard (или в моем случае bundle exec rspec).


используя следующую команду, решил ее для меня:

bundle clean --force

посмотреть guard-and-unresolved-specs дополнительная информация


Используйте Bundler. Звоните bundle exec guard, а не guard.


FYI:

gem cleanup

работал для меня.

$ 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

Я использую gem list gem-name; gem uninstall gem-name чтобы очистить драгоценный камень один за другим из-за зависимости. После этого ошибка больше не отображается.


это сработало для меня:

bundle clean --force

затем

bundle install

переустановить камней.


добавить

'bunlde exec'

перед вашей командой.

Я использую ruby 2.4 и получил ту же проблему при развертывании jekyll в windows, он исправлен.


я получал это сообщение при запуске Rspec в Guard plugin gem, используя bundle exec rspec. Оказалось, что в :

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

эта строка обычно находится в верхней части файла (во многих драгоценных камнях, в которых я недавно работал), и я прокомментировал ее, чтобы понять, почему.


помните, если вы хотите использовать guard, вы должны добавить Gem guard в Gemfile.

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

затем запустите

bundle install

Я надеюсь, что это может вам помочь.