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,则此帖子非常有帮助。
GDP2

Answers:


274

我只是通过单独运行RSpec看到了这个问题。据我了解,这意味着您在系统上安装了多个版本的列出的gem,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,gem cleanup [gemname]对我来说很完美。谢谢。
Matt

3
我遇到了类似的问题,运行软件包更新解决了它
迈克2014年

4
之后rvm gemset use global(和gem cleanup <gemname>),请确保使用rvm gemset use default
AlexChaffee 2014年

我需要使用,gem uninstall <problematic gem>但感谢您并给予我正确的指导!
减少活动

159

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

bundle clean --force

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


1
我尝试了很多事情,包括重新安装RVM和Ruby,直到遇到这个解决方案并为我做到了。
乔治

伙计,我浪费了几个小时试图弄清楚为什么Textmate 2在运行测试时会出现故障。这清除了。
杂货店2016年

我需要su/ sudo要做到这一点,因为它试图写入/var/lib/gems。除此之外-适用于jekyll。
einpoklum

21

使用Bundler。打电话bundle exec guard,不要guard


12

仅供参考:

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,在Windows上部署jekyll时遇到了相同的问题,此问题已修复。


0

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

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

该行通常位于文件的顶部(在我最近使用过的许多宝石中),我已对其进行注释以查看原因。


0

请记住,如果要使用防护罩,则必须向Gemfile添加宝石防护罩。

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

然后跑

bundle install

希望对您有所帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.