【问题标题】:Downloading rails - C won't compile下载 rails - C 不会编译
【发布时间】:2016-05-24 12:57:25
【问题描述】:

我正在尝试下载 rails 并查看了我能找到的所有解决方案。我已经重新下载了 Xcode(7.0 beta)并单独安装了命令行工具,包括运行: xcode-选择--安装 这似乎适用于大多数有同样问题的人。我想我可能已经损坏了 C 头文件。

checking if the C compiler accepts ... *** extconf.rb failed ***

非常感谢任何帮助!

完整的错误代码:

XXX-MacBook-Pro-2:~ XXX$ gem install rails
Building native extensions.  This could take a while...
ERROR:  Error installing rails:
    ERROR: Failed to build gem native extension.

/Users/XXX/.rvm/rubies/ruby-2.2.1/bin/ruby -r ./siteconf20150923-10275-18xpyzg.rb extconf.rb
checking if the C compiler accepts ... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/Users/XXX/.rvm/rubies/ruby-2.2.1/bin/$(RUBY_BASE_NAME)
--help
--clean
/Users/XXX/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/mkmf.rb:456:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from /Users/XXX/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/mkmf.rb:571:in `block in try_compile'
from /Users/XXX/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/mkmf.rb:522:in `with_werror'
from /Users/XXX/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/mkmf.rb:571:in `try_compile'
from extconf.rb:80:in `nokogiri_try_compile'
from extconf.rb:87:in `block in add_cflags'
from /Users/XXX/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/mkmf.rb:619:in `with_cflags'
from extconf.rb:86:in `add_cflags'
from extconf.rb:337:in `<main>'

extconf failed, exit code 1

Gem files will remain installed in /Users/XXX/.rvm/gems/ruby-2.2.1/gems/nokogiri-1.6.6.2 for inspection.
Results logged to /Users/XXX/.rvm/gems/ruby-2.2.1/extensions/x86_64-darwin-14/2.2.0-static/nokogiri-1.6.6.2/gem_make.out

【问题讨论】:

  • Homebrew 或其他 OS X 包管理器之一消除了在 Mac 上安装开源软件的大部分痛苦。
  • 可以添加mkmf.log的内容吗?你也在运行homebrew吗?如果是这样,brew list | grep libxml2 的输出是什么?
  • nokogiri 失败了吗?那颗宝石有special problems on OS X
  • “查看 mkmf.log 文件了解更多详情。”

标签: c ruby macos ruby-on-rails-4


【解决方案1】:

在尝试运行 rails 3 版本的应用程序时,我在过去两周遇到了同样的问题。

问题是您的 rvm/rbenv 没有使用 C 编译器。

使用该命令为rvm获取兼容的C编译器

CC=gcc rvm install-version

因此,如果您使用的是 Ruby 1.9.3,请以这种方式使用它

CC=gcc rvm install-1.9.3

每次无法捆绑安装或其他任何东西时都使用此命令。 这个东西在 El Capitan、rails 3.2.16、ruby 1.9.3、mysql 5.7 上工作 希望它能解决问题。

【讨论】:

    【解决方案2】:

    我相信这条线表明这不是 Rails 问题,而是 nokogiri 的问题。

    Gem files will remain installed in /Users/XXX/.rvm/gems/ruby-2.2.1/gems/nokogiri-1.6.6.2 for inspection.
    

    nokogiri 在 OS X 上安装时出现问题。请尝试one of the solutions here

    【讨论】:

      【解决方案3】:

      这似乎是一个 nokogiri 问题,因为 gem install nokogiri 运行错误(这与我遇到的所有堆栈交换答案一致 - 我已经尝试了大约 20 个并花了几个小时这个)。

      在哪里可以找到 mkmf.log 文件?

      这些是我在 gem 中拥有的:

      activesupport-4.2.4         nokogiri-1.6.6.2
      i18n-0.7.0              nokogiri-1.6.7.rc3
      mini_portile-0.5.3          rails-deprecated_sanitizer-1.0.3
      mini_portile-0.6.2          thread_safe-0.3.5
      mini_portile-0.7.0.rc4          tree-0.2.1
      minitest-5.8.1              tzinfo-1.2.2
      nokogiri-1.6.1
      

      【讨论】:

        【解决方案4】:

        在 Ubuntu 14.04 上尝试以下操作:

        sudo apt-get install libgmp-dev

        之后您应该可以继续使用bundle install

        【讨论】:

          猜你喜欢
          • 2013-12-15
          • 2021-10-05
          • 2012-09-29
          • 1970-01-01
          • 2013-07-06
          • 2016-10-05
          • 1970-01-01
          • 1970-01-01
          • 2011-10-08
          相关资源
          最近更新 更多