当启动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看到这个问题的。据我所知,这意味着你的系统上安装了多个列出的gems版本,而RSpec不确定该使用哪个版本。卸载旧版本的gems后,警告就消失了。

你可以试试:

gem cleanup lumberjack

Or:

gem list lumberjack

gem uninstall lumberjack

如果你正在使用Bundler,你可以尝试bundle exec guard(或者在我的例子中是bundle exec rspec)。


使用打包机。调用bundle exec guard,而不是guard。


记住,如果你想使用guard,你必须在Gemfile中添加gem guard。

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

然后,运行

bundle install

我希望这能帮助到你。


我在Guard插件gem中运行Rspec时得到了这条消息,使用bundle exec Rspec。原来这是gemspec文件中缺失的一行:

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

这一行通常位于文件的顶部(在我最近工作的许多gem中),我已经将其注释掉以了解原因。


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

bundle clean --force

有关更多信息,请参阅守卫和未解决的规格


我使用宝石列表宝石名;由于依赖关系,需要逐个卸载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

这招对我很管用:

bundle clean --force

然后

bundle install

重新安装宝石。


add

'bundle exec'

在你的命令之前。

我使用ruby 2.4,在windows上部署jekyll时也遇到了同样的问题,它修复了。


如果有人已经走了这么远,仍然没有找到答案,我把这个留给你。Gem更新——系统。我尝试了所有这些其他的答案都没有用。希望这对你有用。


尝试gem uninstall <gem> 它将删除所有年轻版本的gem。

然后你会被问到

如果你删除了这个宝石,这些依赖关系就不满足了。继续 删除吗?(YN)”

选择答案

“不”

保留最新版本的gem,并且所有依赖项仍然有效。