Phillip Longman Phillip Longman - 1 month ago 33
Ruby Question

Ignoring GEM because its extensions are not built

On both my work and home computers, I recently installed to Ruby 2.3.1, using

ruby-install
. I use
chruby
as my Ruby switcher.

I started seeing this warning in my terminal:

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


On my work, computer, the list was much longer, but easy to resolve. When I tried the suggested
gem pristine GEM
, it told me it couldn't find the gem, so I ran
gem install GEM
, and that solved it.

At home, nothing is working.

Things I have tried, from common sense and various other Stack questions:


  • gem pristine GEM

  • gem pristine --all

  • uninstalling and reinstalling the gem

  • gem update

  • gem update --system

  • bundle update

  • uninstalling and reinstalling
    bundler

  • uninstalling and reinstalling
    rails
    (Though, it's not a Rails specific problem.)

  • deleting
    ~/.bundle/

  • opening
    XCode
    and letting it install some extensions (It did need to do it, but it didn't fix anything.)

  • running
    brew doctor
    and solving all the minor issues, then
    brew update
    and
    brew upgrade

  • gem install curb
    (I can't imagine what this gem has to do with this issue, but two different people listed it as the last step of their fix to the same warning.)


Answer

I came across this exact issue today - getting warnings like this for gems that weren't even installed!

... Well, it turns out the gems were installed - for a different ruby than the one I had set active with chruby (2.2.3 vs 2.3.1).

Switching to all the different rubies and running gem pristine --all on all of them solved the problem.

Comments