ruby-on-rails - 安装 mini_racer (0.2.0) 时出错
问题描述
我正在使用 mac 10.14。我对 mini_racer gem 有一些问题。运行 bundle install 后出现以下错误。我不知道我该如何解决这个问题。
错误
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
解决方案
我在OS X Mojave上遇到了与上面完全相同的堆栈跟踪完全相同的问题。以下解决方案为我修复了它:(归功于此博客的作者 Dave Kimura):https ://blog.driftingruby.com/updated-to-mojave/ 解决方案很简单:
确保您已安装 xcode 工具(如果已安装则跳过)
xcode-选择--安装
现在运行以下命令并按照屏幕上的安装程序进行操作
打开 /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
而已。现在 mini_racer 应该可以愉快地安装了。
推荐阅读
- asynchronous - 如何在 Dart 中一次处理列表 2 中的项目
- python - 选择不包括某些特定单词的单词 - 正则表达式
- web-hosting - 将外部邮件程序与 IMSCP/I-MSCP 邮件服务器一起使用
- mysql - 如何总结表中每个唯一的最后一个值
- javascript - 脚本中没有定义Javascript函数?
- html - 在 Bootstrap 网格中对齐大小不等的图像
- python - Tkinter 滚动框架:扩展框架以适应一个方向的内容画布
- laravel - 如何按平均评分排序结果
- c# - 一个故事板完成后开始另一个故事板
- c++ - cancel_token 在创建后立即设置为取消状态