OSX Yosemite和Xcode 6安装后的Ruby gem安装错误

我在安装Yosemite之前尝试安装一个像我一样的gem,但是现在我收到一个错误:

/Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:159:in“synchronize”:错误:无法构建gem原生扩展。 (gem::内线:: BuildError)

错误:无法构建gem原生扩展。

僵局; 递归锁定

这是我写的命令:

sudo gem install mysql2 

这是它出现在终端中的消息:

Gem文件将保留在/Library/Ruby/Gems/2.0.0/gems/autotest-fsevent-0.2.9中进行检查。 结果记录到/Library/Ruby/Gems/2.0.0/extensions/universal-darwin-14/2.0.0/autotest-fsevent-0.2.9/gem_make.out

Gem文件将保留在/Library/Ruby/Gems/2.0.0/gems/autotest-fsevent-0.2.9中进行检查。 结果从/Library/Ruby/Site/2.0.0/rubygems记录到/Library/Ruby/Gems/2.0.0/extensions/universal-darwin-14/2.0.0/autotest-fsevent-0.2.9/gem_make.out /ext/builder.rb:159:in build_extension' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:198:in block in build_extensions’from /Library/Ruby/Site/2.0.0 /rubygems/ext/builder.rb:195:in/Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:195:in build_extensions’from /Library/Ruby/Site/2.0.0 block in build_extensions' from /Library/Ruby/Site/2.0.0/rubygems/user_interaction.rb:45:in use_ui’中的/rubygems/specification.rb:1436:in block in build_extensions' from /Library/Ruby/Site/2.0.0/rubygems/user_interaction.rb:45:in build_extensions' from /Library/Ruby/Site/2.0.0/rubygems/stub_specification.rb:60:in build_extensions’中的/specification.rb:1434:in build_extensions' from /Library/Ruby/Site/2.0.0/rubygems/stub_specification.rb:60:in :56:in contains_requirable_file?' from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:925:in contains_requirable_file?' from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:925:in在find_inactive_by_path’中的阻止来自/Library/Ruby/Site/2.0.0/rubygems/specification.rb:924:in each' from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:924:in find_inactive_by_path' from /Library/Ruby/Site/2.0.0/rubygems.rb:185:in each' from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:924:in找到’from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:924:in find_inactive_by_path' from /Library/Ruby/Site/2.0.0/rubygems.rb:185:in /Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:132的try_activate’中, find_inactive_by_path' from /Library/Ruby/Site/2.0.0/rubygems.rb:185:in require’from rescue in require' from /Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:144:in /Library/Ruby/Site/2.0.0/的load_yaml' from /Library/Ruby/Site/2.0.0/rubygems/config_file.rb:328:in /Library/Ruby/Site/2.0.0/rubygems.rb:601:in load_yaml' from /Library/Ruby/Site/2.0.0/rubygems/config_file.rb:328:in /Library/Ruby/Site/2.0.0/rubygems/config_file.rb:197 load_yaml' from /Library/Ruby/Site/2.0.0/rubygems/config_file.rb:328:in load_file’中initialize' from /Library/Ruby/Site/2.0.0/rubygems.rb:289:in来自/Library/Ruby/Site/2.0.0/rubygems.rb:289:in configuration' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:63:in运行’from /Library/Ruby/Site/2.0.0/rubygems/ext/ext_conf_buil der.rb:38:in block in build' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/tempfile.rb:324:in / Library / Ruby / Site / 2.0.0 / ruby​​gems / ext / ext_conf_builder.rb:17:in build’from build' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:161:in block(2 levels)in build_extension’from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:160:in chdir’from chdir' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:160:in阻止在build_extension’from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:159:in synchronize' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:159:in来自/Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:198 block in build_extensions' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:195:in来自/Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:195:in build_extensions' from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:1436:in来自/Library/Ruby/Site/2.0.0/rubygems/user_interaction.rb:45的build_extensions build_extensions' from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:1436:in块 : use_ui' from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:1434:in build_extensions’中的use_ui’来自/Library/Ruby/Site/2.0.0/rubygems/stub_specification.rb:60:in build_extensions' from /Library/Ruby/Site/2.0.0/rubygems/basic_specification.rb:56:in contains_requirable_file?’ from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:925:in block in find_inactive_by_path' from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:924:in每个’来自/ Library / Ruby / Site / 2.0.0 / ruby​​gems / specification.rb:924:在/ Library / Ruby /中find' from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:924:in find_inactive_by_path’ Site / 2.0.0 / ruby​​gems.rb:185:在try_activate' from /Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:132:intry_activate' from /Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:132:in / Library / Ruby / Site /中进行救援2.0.0 / ruby​​gems / core_ext / kernel_require.rb:144:在require' from /Library/Ruby/Site/2.0.0/rubygems.rb:601:in require’from require' from /Library/Ruby/Site/2.0.0/rubygems.rb:601:in load_yaml’ rubygems / config_file.rb:328:在load_file' from /Library/Ruby/Site/2.0.0/rubygems/config_file.rb:197:in中的load_file' from /Library/Ruby/Site/2.0.0/rubygems/config_file.rb:197:in初始化’来自/Library/Ruby/Site/2.0.0/rubygems/gem_runner。 rb:74:来自/Library/Ruby/Site/2.0.0/rubygems/gem_runner.rb:39: new' from /Library/Ruby/Site/2.0.0/rubygems/gem_runner.rb:74:in do_configuration’在run' from /usr/bin/gem:21:in ‘中

我使用的是OSX 10.10和Xcode 6 Beta。

你们中的任何人都知道如何处理这件事吗?

当我通过bitnami安装mysql时遇到同样的问题,看起来你没有所有必需的mysql库。

我使用brewsh并重新安装了mysql

 brew install mysql sudo gem install mysql2 

您还需要在主目录中的.profile文件中加载动态库,您可以通过在.profile文件中添加这些行来实现此目的。

 export PATH=$PATH:$MYSQL export DYLD_LIBRARY_PATH=/Applications/mysql/lib:$DYLD_LIBRARY_PATH 

在上面的两行代码中

/ Applications / mysql / lib,是安装mysql库的路径,在你的mysql库中可能会有所不同,请根据你的环境进行检查和使用

我遇到过同样的问题。 使用RVM降级为ruby 1.9.3在10.10优胜美地上为我解决了问题 – 以下是采取的步骤:

 $ \curl -sSL https://get.rvm.io | bash $ source /Users/shedali/.rvm/scripts/rvm $ rvm install 1.9.3 --with-gcc=clang $ gem install [packagename]