1. ホーム
  2. ruby

[解決済み] GEMの拡張機能がビルドされていないため、GEMを無視する

2022-04-23 02:02:18

質問

職場と自宅の両方のコンピュータで、最近 Ruby を 2.3.1 にアップグレードしました。 ruby-install . 私は 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 で、解決しました。

自宅では、何もしていません。

常識やその他様々なStackの質問から、私が試したこと。

  • gem pristine GEM
  • gem pristine --all
  • gemのアンインストールと再インストール
  • gem update
  • gem update --system
  • bundle update
  • アンインストールと再インストール bundler
  • アンインストールと再インストール rails (とはいえ、Rails特有の問題ではないですが)
  • 削除 ~/.bundle/
  • オープニング XCode を実行し、いくつかの拡張機能をインストールさせました(実行する必要はありましたが、何も修正されませんでした)。
  • 実行 brew doctor を実行し、細かい問題を全て解決した上で brew updatebrew upgrade
  • gem install curb (このgemがこの問題とどう関係するのか想像がつきませんが、2人の異なる人が同じ警告に対する修正の最後のステップとして挙げています)。

解決方法は?

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

... まあ、それはgemsが判明した でした。 をインストールしたのですが、chruby でアクティブにしたものとは異なる ruby 用でした (2.2.3 vs 2.3.1).

すべての異なるルビーに切り替えて実行する gem pristine --all を全てにかけると、問題が解決しました。