Нерешенные спецификации во время 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 для получения дополнительной информации
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
Я надеюсь это тебе поможет.