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' 

    我只是靠自己运行RSpec来看到这个问题。 根据我的理解,这意味着您的系统上安装了多个已列出的gem版本,RSpec不确定要使用哪一个版本。 卸载旧版本的gem后,警告消失了。

    你可以试试:

     gem cleanup lumberjack 

    要么:

     gem list lumberjack gem uninstall lumberjack 

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

    使用下面的命令为我解决了它:

     bundle clean --force 

    有关更多信息,请参阅防范未解决的规范

    使用Bundler。 呼叫bundle exec guard ,而不是guard

    我使用gem list gem-name; gem uninstall gem-name gem list gem-name; gem uninstall gem-name来清理gem,因为依赖关系。 之后,错误不再显示。

    供参考:

     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护卫Gemfile。

     group :developement, :test gem 'guard' end 

    然后运行

     bundle install 

    我希望这可以帮助你。

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

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

    这行通常在文件的顶部(在我最近正在处理的许多gem中),而且我已经评论过了,看看为什么。

    这对我工作:

     bundle clean --force 

    然后

     bundle install 

    重新安装gem。