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。