在我的工作电脑和家用电脑上,我最近使用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原始gem时,它告诉我找不到宝石,所以我运行gem安装gem,这就解决了问题。

在家里,一切都不正常。

我从常识和其他Stack问题中尝试过的事情:

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.)


当前回答

这个解决方案对我的RubyMine IntelliJ很有效

我有两个不同的终端正在使用RVM和ruby<版本>。

解决方案:

我不得不将其切换到RVM版本,以便在首选项>语言和框架>Ruby SDK中消除错误

错误:

Ignoring executable-hooks-1.6.0 because its extensions are not built. Try: gem pristine executable-hooks --version 1.6.0 rubymine

Ignoring gem-wrappers-1.4.0 because its extensions are not built. Try: gem pristine gem-wrappers --version 1.4.0

其他回答

我做了上面提到的所有事情,包括

xcode-select——安装 重新安装ruby 重新安装所有宝石 宝石原始——全部

但对我来说,问题是一样的。 我只是重新启动了我的Mac作为最后的希望,警告信息消失了。

很奇怪,但如果有人在StackOverflow上尝试了所有东西后还在为这个问题而挣扎,那就重新启动你的机器吧。

我今天遇到了这个确切的问题-得到这样的警告,宝石甚至没有安装!

... 好吧,结果是安装了宝石-不同于我用chruby设置的激活的红宝石(2.2.3 vs 2.3.1)。

切换到所有不同的红宝石和运行宝石原始-所有他们都解决了问题。

如果您已经安装了RVM,则可能因为安装了不同的版本而捕捉到错误。

检查和删除无用的版本, 但我认为这不是一个好方法。 不管怎样,错误消失了。

rvm list
rvm use ruby-version
rvm remove ruby-useless-version

刷新cocoapods后,应该将其注入到.rvm GEM_HOME中

gem uninstall cocoapods
gem install cocoapods

可能pod COMMAND会抛出关于minitest gem的错误,所以- gem install minitest

我遇到了这个问题,并执行了与上面相同的所有命令,甚至删除了之前安装的所有Ruby版本。然而,错误仍然存在。

事实证明,在~/.gem/ruby/中有一些剩余的宝石用于各种(以前卸载的)版本。删除我不再使用的文件夹后,错误就消失了。

我今天也遇到了这个问题,它让我很沮丧,因为我无法打字,因为我的整个编辑器闪烁着红色的错误消息。

我不完全确定到底是什么原因导致的,但我相信这是因为我们安装了多个ruby版本或多个ruby版本管理器,它们相互覆盖,否则就会扰乱你通往宝石的路径。

当您有rbenv和rvm时,gem命令也会被覆盖。

通过输入查看您已经安装了哪些;

which rvm
which rbenv
which chruby

如果安装了其中一个,它会返回一个路径。然后删除它们,确保完全清理所有目录,并开始全新安装。


删除

这是我对rvm所做的;

rvm implode
gem uninstall rvm
rm -rf ~/.rvm
rm -rf ~/.rvmrc

这是我对rbenv所做的

首先安装https://github.com/meowsus/rbenv-clean,然后

rbenv clean
sudo apt-get remove rbenv
rm -rf ~/.rbenv

重新安装

然后就有了一个干净的主目录。我reïnstalled rbenv与如何安装Ruby 2.1.4 Ubuntu 14.04。最后;

rbenv rehash