207

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

10 回答 10

285

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

你可以试试:

gem cleanup lumberjack

或者:

gem list lumberjack

gem uninstall lumberjack

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

于 2013-08-08T13:41:30.407 回答
172

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

bundle clean --force

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

于 2015-01-07T06:01:51.150 回答
24

使用捆绑器。打电话bundle exec guard,不是guard

于 2014-08-24T02:46:39.460 回答
14

供参考:

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
于 2017-06-01T06:01:08.083 回答
11

这对我有用:

bundle clean --force

然后

bundle install

重新安装宝石。

于 2017-10-08T03:23:36.223 回答
6

gem list gem-name; gem uninstall gem-name由于依赖关系,我曾经一个一个地清理 gem。之后,错误不再显示。

于 2015-09-21T09:36:39.073 回答
3

添加

'bundle exec'

在你的命令之前。

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

于 2018-06-26T17:56:39.677 回答
0

请记住,如果要使用保护,则必须将 gem 保护添加到 Gemfile。

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

然后,运行

bundle install

我希望这可以帮助你。

于 2014-12-07T09:14:18.557 回答
0

我在 Guard 插件 gem 中运行 Rspec 时收到此消息,使用bundle exec rspec. 原来是gemspec文件中缺少一行:

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

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

于 2014-12-07T17:29:25.693 回答
0

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

于 2021-03-04T23:08:00.293 回答