代码之家  ›  专栏  ›  技术社区  ›  vipin

安装迷你赛车(0.2.0)时出错

  •  9
  • vipin  · 技术社区  · 6 年前

    我使用的是mac 10.14。我对迷你赛车宝石有些意见。在运行bundle安装后,出现以下错误。我不知道该怎么解决这个问题。

    错误

    Installing mini_racer 0.2.0 with native extensions
    Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
    
    current directory:
    /Users/vipinkumar/.rvm/gems/ruby-2.5.1@ry_rails5/gems/mini_racer-0.2.0/ext/mini_racer_extension
    /Users/vipinkumar/.rvm/rubies/ruby-2.5.1/bin/ruby -r
    ./siteconf20180911-791-fpmt3t.rb extconf.rb
    checking for -lpthread... yes
    checking for -lobjc... yes
    creating Makefile
    
    current directory:
    /Users/vipinkumar/.rvm/gems/ruby-2.5.1@ry_rails5/gems/mini_racer-0.2.0/ext/mini_racer_extension
    make "DESTDIR=" clean
    
    current directory:
    /Users/vipinkumar/.rvm/gems/ruby-2.5.1@ry_rails5/gems/mini_racer-0.2.0/ext/mini_racer_extension
    make "DESTDIR="
    compiling mini_racer_extension.cc
    clang: warning: argument unused during compilation: '-rdynamic'
    [-Wunused-command-line-argument]
    In file included from mini_racer_extension.cc:2:
    In file included from
    /Users/vipinkumar/.rvm/rubies/ruby-2.5.1/include/ruby-2.5.0/ruby.h:33:
    In file included from
    /Users/vipinkumar/.rvm/rubies/ruby-2.5.1/include/ruby-2.5.0/ruby/ruby.h:2040:
    /Users/vipinkumar/.rvm/rubies/ruby-2.5.1/include/ruby-2.5.0/ruby/intern.h:47:19:
    warning: 'register' storage class specifier is deprecated and incompatible with
    C++17 [-Wdeprecated-register]
    void rb_mem_clear(register VALUE*, register long);
                      ^~~~~~~~~
    /Users/vipinkumar/.rvm/rubies/ruby-2.5.1/include/ruby-2.5.0/ruby/intern.h:47:36:
    warning: 'register' storage class specifier is deprecated and incompatible with
    C++17 [-Wdeprecated-register]
    void rb_mem_clear(register VALUE*, register long);
                                       ^~~~~~~~~
    2 warnings generated.
    linking shared-object mini_racer_extension.bundle
    clang: warning: libstdc++ is deprecated; move to libc++ [-Wdeprecated]
    ld: library not found for -lstdc++
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    make: *** [mini_racer_extension.bundle] Error 1
    
    make failed, exit code 2
    
    Gem files will remain installed in
    /Users/vipinkumar/.rvm/gems/ruby-2.5.1@ry_rails5/gems/mini_racer-0.2.0 for
    inspection.
    Results logged to
    /Users/vipinkumar/.rvm/gems/ruby-2.5.1@ry_rails5/extensions/x86_64-darwin-18/2.5.0/mini_racer-0.2.0/gem_make.out
    
    An error occurred while installing mini_racer (0.2.0), and Bundler
    cannot continue.
    Make sure that `gem install mini_racer -v '0.2.0' --source
    'https://rubygems.org/'` succeeds before bundling.
    
    In Gemfile:
      mini_racer
    

    Ruby版本2.5.0或2.5.1和rails 5.0

    gem 'mini_racer', platforms: :ruby
    
    2 回复  |  直到 6 年前
        1
  •  13
  •   paneer_tikka    5 年前

    我在网上遇到了完全相同的问题 具有与上述完全相同的堆栈跟踪。下面的解决方案为我解决了这个问题: https://blog.driftingruby.com/updated-to-mojave/ 解决方案很简单:

    1. 确保已安装xcode工具(如果已安装,请跳过)

    2. 现在运行以下命令并按照屏幕上的安装程序进行操作

    就这样。现在迷你赛车应该安装愉快。

        2
  •  7
  •   vipin    6 年前

    问题解决后,改变迷你赛车宝石版

    mini_racer (0.2.1)
    
        3
  •  1
  •   Jonatas Eduardo Sachin R    4 年前

    码头工人 具有 ruby ,您可以尝试:

    1. 删除 Gemfile.lock 内部图像
    2. bundle install 再一次。