Ruby Gem安装Json在Mavericks和Xcode 5.1上失败 - 未知参数:' - multiply_definedsuppress'

 时尚妈咪达人都_354 发布于 2023-01-18 15:19

我正在尝试运行gem install json并得到以下错误

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb 
creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
compiling generator.c
linking shared-object json/ext/generator.bundle
clang: error: unknown argument: '-multiply_definedsuppress' [-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in the future
make: *** [generator.bundle] Error 1

make failed, exit code 2

Gem files will remain installed in /opt/boxen/repo/.bundle/ruby/2.0.0/gems/json-1.8.0 for inspection.
Results logged to /opt/boxen/repo/.bundle/ruby/2.0.0/extensions/universal-darwin-13/2.0.0/json-1.8.0/gem_make.out

我正在使用:

Os X:10.9.2
Xcode:5.1构建版本5B130a
命令行工具(CLT):5.1.0.0.1.1393561416
Ruby:ruby 2.0.0p247(2013-06-27修订版41674)[universal.x86_64-darwin13]
Ruby Gem:2.2 .2
GCC:4.2.1 Apple LLVM版本5.1(clang-503.0.38)(基于LLVM 3.4svn)

4 个回答
  • 在将Xcode更新为5.1并且来自Apple的新闻不好之后,我遇到了完全相同的问题.来自Xcode 5.1发行说明:

    Xcode 5.1中的Apple LLVM编译器将无法识别的命令行选项视为错误.在构建Python本机扩展和Ruby Gems时已经看到了这个问题,其中当前指定了一些无效的编译器选项.

    需要更改使用无效编译器选项的项目以删除这些选项.为了帮助简化转换,编译器将暂时接受将错误降级为警告的选项:

    -Wno-error=unused-command-line-argument-hard-error-in-future

    要解决此问题,请将ARCHFLAGS环境变量设置为将错误降级为警告.

    ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install GemName

    似乎必须更新所有违反编译器选项的gem才能使用有效选项.明确声明:将来不支持此选项[将错误降级为警告].

    我们看到的铿锵声(这将是一个很难的错误(未来不能降级为警告))对应于发行说明中公布的更改.


    要具体回答您的问题,请使用以下命令安装json gem:

    ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install json

    但请注意,这只是一个临时修复.

    2023-01-18 15:21 回答
  • 单线来解决这个问题

    curl https://gist.githubusercontent.com/Paulche/9713531/raw/1e57fbb440d36ca5607d1739cc6151f373b234b6/gistfile1.txt | sudo patch /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin13/rbconfig.rb
    

    2023-01-18 15:22 回答
  • Ruby已经解决的问题:

    https://bugs.ruby-lang.org/issues/9624

    现在我们只需要等待Apple更新他们的红宝石版本(2.0.0p247)到最新的版本(2.0.0p451)之后还没有出来...(或brew/macport它)

    更新(2014-05-15):Mavericks 10.9.3更新ruby to ruby 2.0.0p451 (2014-02-24 revision 45167) [universal.x86_64-darwin13] 这似乎解决了这个问题.

    2023-01-18 15:22 回答
  • 要解决此问题,您可以按@Sash所述安装最新版本的ruby.您可以使用以下命令执行此操作.如果您已经安装了rvm,则无需重新安装.

    #Install rvm
    \curl -sSL https://get.rvm.io | bash -s stable
    
    #Install ruby version 2.0.0-p451
    rvm install ruby-2.0.0-p451
    
    #Print ruby version to verify that it was installed successfully
    ruby -v
    
    #Install json gem
    sudo gem install json
    

    2023-01-18 15:24 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有