Techioz Blog

拡張機能が構築されていないため、GEM を無視します

概要

職場と自宅の両方のコンピューターで、最近、ruby-install を使用して Ruby を 2.3.1 にアップグレードしました。私は chruby を Ruby スイッチャーとして使用しています。

ターミナルに次の警告が表示され始めました。

Ignoring bcrypt-3.1.11 because its extensions are not built.  Try: gem pristine bcrypt --version 3.1.11
Ignoring bcrypt-3.1.10 because its extensions are not built.  Try: gem pristine bcrypt --version 3.1.10
Ignoring binding_of_caller-0.7.2 because its extensions are not built.  Try: gem pristine binding_of_caller --version 0.7.2
Ignoring byebug-9.0.5 because its extensions are not built.  Try: gem pristine byebug --version 9.0.5
Ignoring byebug-5.0.0 because its extensions are not built.  Try: gem pristine byebug --version 5.0.0
Ignoring concurrent-ruby-ext-1.0.2 because its extensions are not built.  Try: gem pristine concurrent-ruby-ext --version 1.0.2
Ignoring debug_inspector-0.0.2 because its extensions are not built.  Try: gem pristine debug_inspector --version 0.0.2

私の職場のコンピューターでは、リストはさらに長くなりましたが、解決するのは簡単でした。提案された gem pristine GEM を試してみると、gem が見つからないというメッセージが表示されたので、 gem install GEM を実行したところ、問題は解決しました。

家では何もうまくいきません。

常識や他のさまざまなスタックの質問から私が試したこと:

解決策

私は今日、まさにこの問題に遭遇しました。インストールされていない gem に対してこのような警告が表示されるのです。

… さて、gem がインストールされていることがわかりました - 私が chruby でアクティブに設定したもの (2.2.3 対 2.3.1) とは異なる Ruby 用です。

すべての異なる Ruby に切り替えて、Gem Pristine を実行すると、問題は解決しました。