启动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'
答案 0 :(得分:257)
我通过单独运行 RSpec 来看到这个问题。据我所知,这意味着您的系统上安装了多个版本的列出的gem,RSpec不确定使用哪个版本。卸载旧版本的宝石后,警告就消失了。
您可以尝试:
gem cleanup lumberjack
或者:
gem list lumberjack
gem uninstall lumberjack
如果您使用的是Bundler,可以尝试bundle exec guard
(或者我的情况bundle exec rspec
)。
答案 1 :(得分:151)
答案 2 :(得分:20)
使用Bundler。请致电bundle exec guard
,而不是guard
。
答案 3 :(得分:10)
仅供参考:
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
答案 4 :(得分:7)
这对我有用:
bundle clean --force
然后
bundle install
重新安装宝石。
答案 5 :(得分:6)
由于依赖性,我使用gem list gem-name; gem uninstall gem-name
逐个清理gem。之后,错误不再显示。
答案 6 :(得分:1)
添加
'bunlde exec'
在执行命令之前。
我使用ruby 2.4,在Windows上部署jekyll时遇到了相同的问题,该问题已解决。
答案 7 :(得分:0)
请记住,如果你想使用guard,你必须将gem guard添加到Gemfile。
group :developement, :test do
gem 'guard'
end
然后,运行
bundle install
我希望这可以帮到你。
答案 8 :(得分:0)
我在使用bundle exec rspec
在Guard插件gem中运行Rspec时收到此消息。结果是gemspec
文件中的缺失行:
$:.push File.expand_path("../lib", __FILE__)
这一行通常位于文件的顶部(在我最近工作过的许多宝石中),我已经评论过它以了解原因。
答案 9 :(得分:0)
如果有人走到这一步但仍然没有找到答案,我就留给你。 gem update --system
。我尝试了所有这些其他答案都无济于事。希望这对你有用。