Mac 10.14を使用しています。 mini_racer gemに問題があります。バンドルインストールを実行した後、以下のエラーが発生します。どうすれば解決できるのかわかりません。
エラー
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
GemFile
gem 'mini_racer', platforms: :Ruby
Mini_racer gemバージョンの変更後に問題が解決する
mini_racer (0.2.1)
上記とまったく同じスタックトレースで、OS X Mojaveでまったく同じ問題が発生しました。次の解決策で問題が解決しました:(このブログの作成者であるDave Kimuraのクレジット): https://blog.driftingruby.com/updated-to-mojave/ 解決策は単純です:
Xcodeツールがインストールされていることを確認します(既に実行されている場合はスキップします)
xcode-select --install
次のコマンドを実行し、画面のインストーラーに従ってください
/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkgを開きます
それでおしまい。今度はmini_racerがうまくインストールされます。