在我的工作电脑和家用电脑上,我最近用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
在我的工作电脑上,列表要长得多,但很容易解决.当我try 建议的gem pristine GEM
,它告诉我它找不到Ruby ,所以我运行gem install GEM
,这解决了它.
在家里,什么都不管用.
我try 过的事情,从常识和各种其他问题:
gem pristine GEM
gem pristine --all
- 卸载并重新安装gem
gem update
gem update --system
bundle update
- 卸载和重新安装
bundler
- 卸载并重新安装
rails
(不过,这不是Rails特有的问题.) - 删除
~/.bundle/
- 打开
XCode
并让它安装一些扩展(它确实需要这样做,但没有修复任何东西) - 运行
brew doctor
并解决所有小问题,然后运行brew update
和brew upgrade
-
gem install curb
(我无法想象这颗Ruby 与这个问题有什么关系,但两个不同的人把它列为修复同一警告的最后一步.)