Невирішені характеристики в Gem :: Specification.reset:


192

Під час запуску 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'

1
Я теж це отримую і навіть не охороняю.
Дуглас Г. Аллен

Ця публікація дуже корисна, якщо ви використовуєте RVM.
ВВП2

Відповіді:


274

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

Ви можете спробувати:

gem cleanup lumberjack

Або:

gem list lumberjack

gem uninstall lumberjack

Якщо ви використовуєте Bundler, ви можете спробувати bundle exec guard(або в моєму випадку bundle exec rspec).


2
Ти поставив мене на правильний шлях. Я отримував помилки під час запуску 'очищення дорогоцінного каміння', тому я виявив таке: stackoverflow.com/questions/4007074/… Виявляється, це стосувалося RVM. Коли я побіг "rvm gemset use global" і побіг охоронця, помилки усунулися.
reneruiz

Я використовував rbenv і очищення дорогоцінних каменів [gemname] працювало на мене ідеально. Дякую.
Мт

3
У мене була подібна проблема, запущене оновлення пакета вирішило її
Майк

4
Після rvm gemset use globalgem cleanup <gemname>) переконайтеся, що ви повернетесь до свого гемсета за замовчуванням за допомогоюrvm gemset use default
AlexChaffee

Мені потрібно було скористатися, gem uninstall <problematic gem>але дякую та висловлюю увагу, що вказували мене в правильному напрямку!
зменшення активності

159

Використовуючи таку команду, це вирішило мене:

bundle clean --force

Див караул-і-недозволені-специфікації для отримання додаткової інформації


1
Я спробував багато речей, включаючи перевстановлення RVM та Ruby, поки я не натрапив на це рішення, і це зробив це для мене.
Джордж

Людина, я витратив кілька годин, намагаючись зрозуміти, чому Textmate 2 виблискував, коли я виконував тести. Це очистило це.
Бакалія

Мені потрібно su/ sudoщоб зробити це, так як він намагається писати /var/lib/gems. Крім цього - працює на джекіл.
einpoklum


12

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


6

Я використовую gem list gem-name; gem uninstall gem-nameдля чищення дорогоцінного каміння по черзі через залежність. Після цього помилка не з’являється знову.


1

додати

'bundle exec'

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

Я використовую ruby ​​2.4 і отримав таку ж проблему при розгортанні jekyll на Windows, це виправлено.


0

Я отримував це повідомлення під час запуску Rspec в самоцвіті плагіна Guard, використовуючи bundle exec rspec. Виявився рядок у gemspecфайлі:

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

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


0

Пам’ятайте, якщо ви хочете використовувати охорону, вам потрібно додати Gem guard до Gemfile.

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

Потім бігайте

bundle install

Я сподіваюся, що це може вам допомогти.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.