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

При запуске 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'

11 ответов

Решение

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

Ты можешь попробовать:

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

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

bundle clean --force

затем

bundle install

переустановить драгоценные камни.

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

Добавлять

'bunlde exec'

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

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

Если кто-то зашел так далеко и до сих пор не нашел ответа, я оставляю вас с этим. gem update --system. Я пробовал все эти другие ответы безрезультатно. Надеюсь, это сработает для вас.

Я получал это сообщение при запуске Rspec в геме плагина Guard, используя bundle exec rspec, Оказалось, пропущенная строка в gemspec файл:

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

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

Пытаться и он удалит все младшие версии драгоценного камня.

Затем вас спросят

«Если вы удалите этот драгоценный камень, эти зависимости не будут выполнены. Продолжить удаление? [YN]»

Выберите ответ

"нет"

чтобы оставить последнюю версию драгоценного камня, и все зависимости останутся в силе.

Помните, что если вы хотите использовать охрану, вы должны добавить Gem Guard в Gemfile.

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

Затем беги

bundle install

Я надеюсь это тебе поможет.

Другие вопросы по тегам