Ruby Gem install Json fails on Mavericks and Xcode 5.1 - unknown argument: '-multiply_definedsuppress'

前端 未结 11 1414
醉酒成梦
醉酒成梦 2020-11-22 03:39

I was trying run gem install json and got the following error

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

    /System/Library/Framewo         


        
相关标签:
11条回答
  • 2020-11-22 04:37

    None of these worked for me.

    What finally worked is running the command with a sudo -

    gem install byebug -v '9.0.6'

    0 讨论(0)
  • 2020-11-22 04:39

    I am encountering the exact same problem after updating Xcode to 5.1 and news from Apple aren't good. From Xcode 5.1 Release Notes:

    • The Apple LLVM compiler in Xcode 5.1 treats unrecognized command-line options as errors. This issue has been seen when building both Python native extensions and Ruby Gems, where some invalid compiler options are currently specified.

    Projects using invalid compiler options will need to be changed to remove those options. To help ease that transition, the compiler will temporarily accept an option to downgrade the error to a warning:

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

    To workaround this issue, set the ARCHFLAGS environment variable to downgrade the error to a warning.

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

    It seems that all gems violating the compiler options must be updated to use valid options. It is explicitly stated that: This option [downgrading error to warning] will not be supported in the future.

    The clang note we are seeing (this will be a hard error (cannot be downgraded to a warning) in the future) corresponds to the change announced in the release notes.


    To answer your question specifically, use the following to install the json gem:

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

    Note, however, that this is only a temporary fix.

    0 讨论(0)
  • 2020-11-22 04:39

    One-liner to fix that

    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
    
    0 讨论(0)
  • 2020-11-22 04:39

    @Muncken has already provided an answer to install gem one by one:

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

    Base on Muncken's answer, I've tried that it also works when using bundle install

    ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future bundle install
    
    0 讨论(0)
  • 2020-11-22 04:39

    I used a simple solution... install through brew

    brew install name

    0 讨论(0)
提交回复
热议问题