【问题标题】:Ruby Bundle Install Not Working. Can't Install RaccRuby 捆绑安装不工作。无法安装 Racc
【发布时间】:2022-10-02 21:14:18
【问题描述】:

使用我的 macOS Monterey v12.6,我试图在我的 Ruby on Rails 项目中运行Bundle Install,但它停止工作。

这是我在它停止后收到的信息。

Fetching racc 1.6.0
Installing racc 1.6.0 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /Users/myself/.rvm/gems/ruby-2.6.1/gems/racc-1.6.0/ext/racc/cparse
/Users/myself/.rvm/rubies/ruby-2.6.1/bin/ruby -I /Users/myself/.rvm/rubies/ruby-2.6.1/lib/ruby/site_ruby/2.6.0 -r
./siteconf20220930-1192-12lr3he.rb extconf.rb
checking for rb_block_call()... *** 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
        --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/myself/.rvm/rubies/ruby-2.6.1/bin/$(RUBY_BASE_NAME)
/Users/myself/.rvm/rubies/ruby-2.6.1/lib/ruby/2.6.0/mkmf.rb:467:in `try_do\': The compiler failed to generate an executable file.
(RuntimeError)
You have to install development tools first.
        from /Users/myself/.rvm/rubies/ruby-2.6.1/lib/ruby/2.6.0/mkmf.rb:552:in `try_link0\'
        from /Users/myself/.rvm/rubies/ruby-2.6.1/lib/ruby/2.6.0/mkmf.rb:570:in `try_link\'
        from /Users/myself/.rvm/rubies/ruby-2.6.1/lib/ruby/2.6.0/mkmf.rb:782:in `try_func\'
        from /Users/myself/.rvm/rubies/ruby-2.6.1/lib/ruby/2.6.0/mkmf.rb:1069:in `block in have_func\'
        from /Users/myself/.rvm/rubies/ruby-2.6.1/lib/ruby/2.6.0/mkmf.rb:959:in `block in checking_for\'
        from /Users/myself/.rvm/rubies/ruby-2.6.1/lib/ruby/2.6.0/mkmf.rb:361:in `block (2 levels) in postpone\'
        from /Users/myself/.rvm/rubies/ruby-2.6.1/lib/ruby/2.6.0/mkmf.rb:331:in `open\'
        from /Users/myself/.rvm/rubies/ruby-2.6.1/lib/ruby/2.6.0/mkmf.rb:361:in `block in postpone\'
        from /Users/myself/.rvm/rubies/ruby-2.6.1/lib/ruby/2.6.0/mkmf.rb:331:in `open\'
        from /Users/myself/.rvm/rubies/ruby-2.6.1/lib/ruby/2.6.0/mkmf.rb:357:in `postpone\'
        from /Users/myself/.rvm/rubies/ruby-2.6.1/lib/ruby/2.6.0/mkmf.rb:958:in `checking_for\'
        from /Users/myself/.rvm/rubies/ruby-2.6.1/lib/ruby/2.6.0/mkmf.rb:1068:in `have_func\'
        from extconf.rb:6:in `<main>\'

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /Users/myself/.rvm/gems/ruby-2.6.1/extensions/x86_64-darwin-19/2.6.0/racc-1.6.0/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /Users/myself/.rvm/gems/ruby-2.6.1/gems/racc-1.6.0 for inspection.
Results logged to /Users/myself/.rvm/gems/ruby-2.6.1/extensions/x86_64-darwin-19/2.6.0/racc-1.6.0/gem_make.out

An error occurred while installing racc (1.6.0), and Bundler cannot continue.
Make sure that `gem install racc -v \'1.6.0\' --source \'https://rubygems.org/\'` succeeds before bundling.

In Gemfile:
  rails was resolved to 6.1.5, which depends on
    actioncable was resolved to 6.1.5, which depends on
      actionpack was resolved to 6.1.5, which depends on
        actionview was resolved to 6.1.5, which depends on
          rails-dom-testing was resolved to 2.0.3, which depends on
            nokogiri was resolved to 1.13.3, which depends on
              racc

红宝石版本:

ruby 2.6.1p33 (2019-01-30 revision 66950) [x86_64-darwin19]

我尝试运行rails -v,这是对此的回应:

traceback (most recent call last):
        8: from /Users/myself/.rvm/gems/ruby-2.6.1/bin/ruby_executable_hooks:24:in `<main>\'
        7: from /Users/myself/.rvm/gems/ruby-2.6.1/bin/ruby_executable_hooks:24:in `eval\'
        6: from /Users/myself/.rvm/gems/ruby-2.6.1/bin/rails:23:in `<main>\'
        5: from /Users/myself/.rvm/rubies/ruby-2.6.1/lib/ruby/site_ruby/2.6.0/rubygems.rb:297:in `activate_bin_path\'
        4: from /Users/myself/.rvm/rubies/ruby-2.6.1/lib/ruby/site_ruby/2.6.0/rubygems.rb:297:in `synchronize\'
        3: from /Users/myself/.rvm/rubies/ruby-2.6.1/lib/ruby/site_ruby/2.6.0/rubygems.rb:299:in `block in activate_bin_path\'
        2: from /Users/myself/.rvm/rubies/ruby-2.6.1/lib/ruby/site_ruby/2.6.0/rubygems.rb:232:in `finish_resolve\'
        1: from /Users/myself/.rvm/rubies/ruby-2.6.1/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:175:in `require\'
/Users/myself/.rvm/rubies/ruby-2.6.1/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:175:in `ensure in require\': CRITICAL: RUBYGEMS_ACTIVATION_MONITOR.owned?: before false -> after true (RuntimeError)

无论如何,Gemfile 中的 Rails:

gem \'rails\', \'~> 6.1.4\', \'>= 6.0.4.6\'

我已经尝试通过这个post 的解决方案来解决这个问题,但它没有解决它。

有谁知道发生了什么,我该如何解决?

  • 您是否在该回溯中看到“您必须先安装开发工具”的错误消息?嗯,这就是大线索。您的 XCode 未安装或不是最新的。所以谷歌 MacOS 安装 XCode,你会在 App Store 上找到它,你会从 Apple 那里找到关于如何安装或获取最新版本的说明,
  • 就像我说的那样,我确实从我提供的超链接中遵循了相同的解决方案,但没有奏效。也许我需要重新启动计算机和一切,但我安装了 XCode。
  • mkmf.log 说什么 - 它在您的错误日志中被引用?您是否真的通过命令行安装了 XCode 开发工具?我遇到了类似的问题,人们将我称为“安装 xcode”,我这样做了,但我从来没有做过关键的“xcode-select --install”……我知道你说过你遵循了上面的说明这个,但又一次 - 去过那里,忽略了我自己:)
  • @tkhobbes 感谢您提出一个好观点。我确实运行了 xcode-select --install。就我而言,我查看了日志,结果发现我必须运行附加命令 xcodebuild -runFirstLaunch 才能最终使其工作。感谢您的建议和理解我遇到的问题。 :)

标签: ruby-on-rails ruby macos rubygems bundler


【解决方案1】:

通过终端运行命令xcode-select --install 安装 XCode 开发工具后,我转到系统偏好设置 -> 软件更新并更新运行安装 XCode 后显示的操作系统的更新。

确保开发人员工具有权使用终端非常重要。

更新 macOS 后,运行 xcodebuild -runFirstLaunch,您终于可以在 Ruby 项目中成功运行 Bundle InstallBundle Update

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多