在工作和家用计算机上,我最近都使用来将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 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 update
和brew upgrade
gem install curb
(我无法想象这个宝石与这个问题有什么关系,但是两个不同的人将其列为解决同一警告的最后一步。)
gem pristine --all
不工作。通过删除所有宝石(包括捆绑器)来解决。然后安装捆绑器gem install bundler
,最后导航回我的项目并运行bundle install
,重新安装了我所有的宝石,一切正常
bcrypt
它,但仍然给了我两个警告。