【问题标题】:Ignoring bcrypt-3.1.11 because its extensions are not built. Try: gem pristine bcrypt --version 3.1.11忽略 bcrypt-3.1.11,因为它的扩展没有构建。试试: gem pristine bcrypt --version 3.1.11
【发布时间】:2017-01-30 06:28:01
【问题描述】:

在 MacOS Sierra [2016 年 9 月 22 日]

通过 rvm 将 ruby​​ 升级到 5.3.1 然后检查 ruby -v

ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin16]

然后我尝试使用 gem 安装 rails

gem install rails -v 5.0.0.1

显示错误

  Ignoring bcrypt-3.1.11 because its extensions are not built.  Try: gem pristine bcrypt --version 3.1.11
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-8.2.2 because its extensions are not built.  Try: gem pristine byebug --version 8.2.2
Ignoring capybara-webkit-1.11.1 because its extensions are not built.  Try: gem pristine capybara-webkit --version 1.11.1
Ignoring debug_inspector-0.0.2 because its extensions are not built.  Try: gem pristine debug_inspector --version 0.0.2
/Users/chutipongroobklom/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': incompatible library version - /Users/chutipongroobklom/.rvm/gems/ruby-2.3.1/gems/io-console-0.4.6/lib/io/console.bundle (fatal)
    from /Users/chutipongroobklom/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/chutipongroobklom/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/user_interaction.rb:9:in `<top (required)>'
    from /Users/chutipongroobklom/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/chutipongroobklom/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/chutipongroobklom/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/command.rb:10:in `<top (required)>'
    from /Users/chutipongroobklom/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/chutipongroobklom/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/chutipongroobklom/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/command_manager.rb:8:in `<top (required)>'
    from /Users/chutipongroobklom/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/chutipongroobklom/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/chutipongroobklom/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/gem_runner.rb:9:in `<top (required)>'
    from /Users/chutipongroobklom/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/chutipongroobklom/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/chutipongroobklom/.rvm/rubies/ruby-2.3.1/bin/gem:9:in `<main>'
  1. 发生了什么事?
  2. 根本原因是什么?
  3. 接下来我该怎么做?
  4. 如何防止以后出现此错误?

提前谢谢你

【问题讨论】:

    标签: ruby-on-rails ruby rubygems


    【解决方案1】:
    gem pristine -a
    bundle install
    bundle update
    

    帮我解决了这个问题

    由于之前的尝试,我也将这些行注释掉了,不确定它是否有帮助。

    # gem 'spring'
    # gem 'spring-watcher-listen', '~> 2.0.0'
    

    【讨论】:

      【解决方案2】:

      重新安装您当前的 gem,问题将得到修复。

      就我而言,我用过

      rvm reinstall ruby-2.2.5
      

      【讨论】:

        【解决方案3】:

        我刚刚花了一天时间试图解决一个类似的问题。问题可能来自您当前的 ruby​​ 版本或较旧版本的 ~/.gem/ruby 中的 .gem 文件夹中的冲突。要解决此问题,您可以手动删除这些文件夹并通过以下方式重新安装 Rails gem: rm -rf ~/.gem/ruby/<ruby_version> gem install bundler bundle install

        下次使用该 ruby​​ 版本时,将重新生成该文件夹。如果您使用的是 ruby​​ 包管理器(即 Chruby),您应该能够在应用程序中切换 ruby​​ 版本并查看哪些 Ruby 版本会出现警告,并且只能通过上面的命令删除该版本的 gem。

        我发现的其他解决方案建议在您所有现有的 ruby​​ 版本上运行 gem pristine -a,但这似乎并没有解决我的问题。

        【讨论】:

          【解决方案4】:

          可能在更新期间您还安装了新的 XCode,它包括构建扩展所需的库。但在您接受 XCode 许可证并安装新组件之前,它不会起作用。 XCode 将在第一次运行时为您完成。

          所以,首先运行 XCode,接受许可证,安装缺少的组件(XCode 应该会自动询问您是否愿意安装它们)。

          可能需要重新安装 ruby​​。 (此处描述:https://stackoverflow.com/a/16775469/2074939

          重启控制台。

          如果这是您第一次在系统上安装 Ruby 和 Ruby on Rail,我建议您阅读以下内容: https://gorails.com/setup/osx/10.12-sierra

          【讨论】:

            猜你喜欢
            • 2019-01-29
            • 2021-02-18
            • 2021-03-30
            • 1970-01-01
            • 1970-01-01
            • 2016-12-12
            • 2018-06-28
            • 2021-12-19
            • 1970-01-01
            相关资源
            最近更新 更多