【问题标题】:Gem::Ext::BuildError: ERROR: Failed to build gem native extension on mac. unable to install raccGem::Ext::BuildError: 错误: 无法在 mac 上构建 gem 原生扩展。无法安装racc
【发布时间】:2022-03-10 16:37:21
【问题描述】:

安装带有本机扩展的 racc 1.5.2
Gem::Ext::BuildError: ERROR: 未能构建 gem 原生扩展。

current directory: /Library/Ruby/Gems/2.6.0/gems/racc-1.5.2/ext/racc/cparse   

/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -I

/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0 -r

./siteconf20210323-1013-1j708gz.rb extconf.rb

检查 rb_ary_subseq()... *** extconf.rb 失败 ***

由于某种原因无法创建 Makefile,可能缺乏必要

库和/或标题。检查 mkmf.log 文件以获取更多详细信息。您可以 需要配置选项。

提供的配置选项: --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 --没有-make-prog --srcdir=。 --curdir

--ruby=/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/$(RUBY_BASE_NAME)

/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:467:in `try_do': 编译器未能生成可执行文件。 (运行时错误)

你必须先安装开发工具。

来自/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:546:in `block in try_link0'

来自/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tmpdir.rb:93:in`mktmpdir'

来自/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:543:in`try_link0'

来自 /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:570:in`try_link'

来自 /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:782:in`try_func'

来自 /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:1069:in`block in have_func'

来自 /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:959:in`block in checks_for'

来自 /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:361:in`block (2 levels) in推迟'

来自 /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:331:in`open'

来自 /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:361:in`block in推迟'

来自 /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:331:in`open'

来自 /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:357:in`postpone'

来自 /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:958:in`checking_for'

来自 /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:1068:in`have_func'

来自 extconf.rb:6:in `'

要查看此扩展无法编译的原因,请查看 mkmf.log,它可以 可以在这里找到:

/Library/Ruby/Gems/2.6.0/extensions/universal-darwin-19/2.6.0/racc-1.5.2/mkmf.log

extconf 失败,退出代码 1

Gem 文件将继续安装在 /Library/Ruby/Gems/2.6.0/gems/racc-1.5.2 中 检查。

结果记录到 /Library/Ruby/Gems/2.6.0/extensions/universal-darwin-19/2.6.0/racc-1.5.2/gem_make.out

安装 racc (1.5.2) 时出错,Bundler 无法继续。

在捆绑之前确保gem install racc -v '1.5.2' --source 'https://rubygems.org/'succeeds。

在 Gemfile 中: rails 被解析为 6.1.3,这取决于 actioncable 被解析为 6.1.3,这取决于 actionpack 被解析为 6.1.3,这取决于 actionview 被解析为 6.1.3,这取决于 rails-dom-testing 被解析为 2.0.3,这取决于 nokogiri 被解析为 1.11.2,这取决于 拉克

【问题讨论】:

  • 另一个具有相同依赖关系的 gem 谁需要另一个版本?检查此项并手动安装所需的显式版本 gem "gem install gem_name -v x.x.x...

标签: ios ruby macos automation


【解决方案1】:

gem racc 具有以下依赖项:

 *  Ruby 1.8.x or later.
(*) make and C compiler.

见:Gem documentation

所以我的猜测是其中任何一个都没有正确安装在您的机器上。

  1. ruby -v 有效吗?
  2. make -v 有效吗?
  3. gcc -v 有效吗?

要安装 ruby​​,您可能需要查看 rbenv (https://github.com/rbenv/rbenv) 要安装 make 和 gcc,只需运行:

xcode-select --install

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-25
    • 1970-01-01
    • 2015-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-10
    相关资源
    最近更新 更多