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
私もこれを取得しており、警備員を実行していません。
ダグラスG.アレン

この投稿は、RVMを使用している場合に非常に役立ちます。
GDP2

回答:


274

RSpecを単独で実行するだけでこの問題が発生しました。私が理解しているところによると、これは、リストされたgemの複数のバージョンがシステムにインストールされており、RSpecがどちらを使用するかわからないことを意味します。古いバージョンのgemをアンインストールした後、警告は消えました。

あなたが試すことができます:

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 2013

私はrbenvを使用していて、gem cleanup [gemname]は完全に機能しました。ありがとう。
マット

3
私は同様の問題を抱えていました、バンドルのアップデートを実行することで解決しました
マイク

4
その後rvm gemset use global(およびgem cleanup <gemname>)、必ずデフォルトのGemsetに切り替えてくださいrvm gemset use default
AlexChaffee

私は使用する必要gem uninstall <problematic gem>がありましたが、正しい方向に向けてくれたことに感謝と賛成投票を!
活動の削減

159

次のコマンドを使用して解決しました:

bundle clean --force

詳細については、guard-and-unresolved-specsを参照してください


1
私は、RVMとRubyの再インストールを含めて、このソリューションにぶつかって、これがうまくいくまで、たくさんのことを試しました。
ジョージ

テストを実行しているときに、なぜTextmate 2が誤作動していたのかを理解するために数時間を無駄にしました。これで解決しました。
食料品店2016

私がするのに必要su/ sudoそれはへの書き込みをしようとしていたことから、これを実行します/var/lib/gems。それ以外-ジキルで動作します。
アインポクルム2017年

21

バンドラーを使用します。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 rspecgemspecファイルの行が欠落していることがわかりました:

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

通常、この行はファイルの先頭にあり(最近使用している多くのgemでは)、コメントを付けて理由を確認しました。


0

ガードを使用したい場合は、Gemfileにgem guardを追加する必要があることを覚えておいてください。

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

次に、実行します

bundle install

これがお役に立てば幸いです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.