Gem :: Specification.reset期间未解决的规范:

时间:2013-07-30 00:15:21

标签: ruby rubygems guard

启动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'

10 个答案:

答案 0 :(得分:257)

我通过单独运行 RSpec 来看到这个问题。据我所知,这意味着您的系统上安装了多个版本的列出的gem,RSpec不确定使用哪个版本。卸载旧版本的宝石后,警告就消失了。

您可以尝试:

gem cleanup lumberjack

或者:

gem list lumberjack

gem uninstall lumberjack

如果您使用的是Bundler,可以尝试bundle exec guard(或者我的情况bundle exec rspec)。

答案 1 :(得分:151)

使用以下命令为我解决了这个问题:

bundle clean --force

有关详细信息,请参阅guard-and-unresolved-specs

答案 2 :(得分:20)

使用Bundler。请致电bundle exec guard,而不是guard

答案 3 :(得分:10)

仅供参考:

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

答案 4 :(得分:7)

这对我有用:

bundle clean --force

然后

bundle install

重新安装宝石。

答案 5 :(得分:6)

由于依赖性,我使用gem list gem-name; gem uninstall gem-name逐个清理gem。之后,错误不再显示。

答案 6 :(得分:1)

添加

'bunlde exec'

在执行命令之前。

我使用ruby 2.4,在Windows上部署jekyll时遇到了相同的问题,该问题已解决。

答案 7 :(得分:0)

请记住,如果你想使用guard,你必须将gem guard添加到Gemfile。

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

然后,运行

bundle install

我希望这可以帮到你。

答案 8 :(得分:0)

我在使用bundle exec rspec在Guard插件gem中运行Rspec时收到此消息。结果是gemspec文件中的缺失行:

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

这一行通常位于文件的顶部(在我最近工作过的许多宝石中),我已经评论过它以了解原因。

答案 9 :(得分:0)

如果有人走到这一步但仍然没有找到答案,我就留给你。 gem update --system。我尝试了所有这些其他答案都无济于事。希望这对你有用。