使用OS X 10.9.2 Mavericks
我在安装github-pages gem时遇到了问题。我需要先安装Xcode,但这会导致错误。我尝试使用命令xcode-select --install安装Xcode。该对话框显示三个选项: Download Xcode,Not now,Install When I选择'Install‘,选择accept后,该过程开始并在一段时间后停止。显示软件在更新服务器上不可用。当我选择“Download Xcode”时,应用商店启动,我可以安装Xcode。尽管如此,Xcode似乎还没有安装,请参见以下步骤。
安装Xcode之后,我启动了终端,并按照Using Jekyll with pages.上的说明进行操作
当我在根文件夹中运行sudo bundle install --verbose时,编译器会生成一个error:/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:430:in 'try_do': The compiler failed to generate an executable file. (RuntimeError)
你必须先安装开发工具。
Below the output of the `sudo bundle install` command:
Fetching from: https://rubygems.org/api/v1/dependencies
HTTP Redirection
Fetching from: https://bundler.rubygems.org/api/v1/dependencies
HTTP Success
Fetching gem metadata from https://rubygems.org/
Query List: ["RedCloth", "blankslate", "fast-stemmer", "classifier", "colorator", "highline", "commander", "ffi", "liquid", "rb-fsevent", "rb-inotify", "rb-kqueue", "listen", "maruku", "posix-spawn", "yajl-ruby", "pygments.rb", "redcarpet", "safe_yaml", "parslet", "toml", "jekyll", "kramdown", "rdiscount", "github-pages"]
Query Gemcutter Dependency Endpoint API: RedCloth,blankslate,fast-stemmer,classifier,colorator,highline,commander,ffi,liquid,rb-fsevent,rb-inotify,rb-kqueue,listen,maruku,posix-spawn,yajl-ruby,pygments.rb,redcarpet,safe_yaml,parslet,toml,jekyll,kramdown,rdiscount,github-pages
Fetching from: https://rubygems.org/api/v1/dep...ramdown,rdiscount,github-pages
HTTP Redirection
Fetching from: https://bundler.rubygems.org/ap...ramdown,rdiscount,github-pages
HTTP Success
Query List: ["stemmer", "rake", "bones", "jekyll-redirect-from", "jekyll-mentions", "jemoji", "termios", "jekyll-coffeescript", "sass", "mercenary", "directory_watcher", "open4", "hoe", "albino", "celluloid-io", "celluloid", "rb-fchange", "syntax", "rubypython", "echoe", "psych"]
Query Gemcutter Dependency Endpoint API: stemmer,rake,bones,jekyll-redirect-from,jekyll-mentions,jemoji,termios,jekyll-coffeescript,sass,mercenary,directory_watcher,open4,hoe,albino,celluloid-io,celluloid,rb-fchange,syntax,rubypython,echoe,psych
Fetching from: https://rubygems.org/api/v1/dep...,syntax,rubypython,echoe,psych
HTTP Redirection
Fetching from: https://bundler.rubygems.org/ap...,syntax,rubypython,echoe,psych
HTTP Success
Query List: ["loquacious", "little-plugger", "rdoc", "rspec", "bones-git", "bones-extras", "timers", "facter", "nio4r", "allison", "rubyforge", "gemcutter", "rcov", "RubyInline", "coffee-script", "html-pipeline", "gemoji", "win32-api"]
Query Gemcutter Dependency Endpoint API: loquacious,little-plugger,rdoc,rspec,bones-git,bones-extras,timers,facter,nio4r,allison,rubyforge,gemcutter,rcov,RubyInline,coffee-script,html-pipeline,gemoji,win32-api
Fetching from: https://rubygems.org/api/v1/dep...html-pipeline,gemoji,win32-api
HTTP Redirection
Fetching from: https://bundler.rubygems.org/ap...html-pipeline,gemoji,win32-api
HTTP Success
Query List: ["bones-rcov", "bones-rubyforge", "bones-rspec", "bones-zentest", "git", "coffee-script-source", "execjs", "win32console", "windows-pr", "windows-api", "win32-dir", "sys-admin", "CFPropertyList", "json", "json_pure", "net-scp", "activesupport", "nokogiri", "escape_utils", "rinku", "sanitize", "github-markdown", "github-linguist", "minitest", "rspec-mocks", "rspec-expectations", "rspec-core", "cucumber", "diff-lcs", "spicycode-rcov", "ZenTest", "hitimes", "test-unit"]
Query Gemcutter Dependency Endpoint API: bones-rcov,bones-rubyforge,bones-rspec,bones-zentest,git,coffee-script-source,execjs,win32console,windows-pr,windows-api,win32-dir,sys-admin,CFPropertyList,json,json_pure,net-scp,activesupport,nokogiri,escape_utils,rinku,sanitize,github-markdown,github-linguist,minitest,rspec-mocks,rspec-expectations,rspec-core,cucumber,diff-lcs,spicycode-rcov,ZenTest,hitimes,test-unit
Fetching from: https://rubygems.org/api/v1/dep...rcov,ZenTest,hitimes,test-unit
HTTP Redirection
Fetching from: https://bundler.rubygems.org/ap...rcov,ZenTest,hitimes,test-unit
HTTP Success
Query List: ["thread_safe", "tzinfo", "multi_json", "i18n", "builder", "memcache-client", "libxml-ruby", "multi_test", "gherkin", "term-ansicolor", "treetop", "polyglot", "mime-types", "charlock_holmes", "configuration", "mkrf", "rake-compiler", "spruz", "net-ssh", "mini_portile", "racc", "tenderlove-frex", "rexical", "weakling", "rspec-support", "hpricot", "htmlentities", "win32-security"]
Query Gemcutter Dependency Endpoint API: thread_safe,tzinfo,multi_json,i18n,builder,memcache-client,libxml-ruby,multi_test,gherkin,term-ansicolor,treetop,polyglot,mime-types,charlock_holmes,configuration,mkrf,rake-compiler,spruz,net-ssh,mini_portile,racc,tenderlove-frex,rexical,weakling,rspec-support,hpricot,htmlentities,win32-security
Fetching from: https://rubygems.org/api/v1/dep...ot,htmlentities,win32-security
HTTP Redirection
Fetching from: https://bundler.rubygems.org/ap...ot,htmlentities,win32-security
HTTP Success
Query List: ["trollop", "archive-tar-minitar", "needle", "jruby-pageant", "tins", "atomic", "facets"]
Query Gemcutter Dependency Endpoint API: trollop,archive-tar-minitar,needle,jruby-pageant,tins,atomic,facets
Fetching from: https://rubygems.org/api/v1/dep...uby-pageant,tins,atomic,facets
HTTP Redirection
Fetching from: https://bundler.rubygems.org/ap...uby-pageant,tins,atomic,facets
HTTP Success
Query List: []
Fetching additional metadata from https://rubygems.org/
Query List: ["tenderlove-frex", "spicycode-rcov"]
Query Gemcutter Dependency Endpoint API: tenderlove-frex,spicycode-rcov
Fetching from: https://rubygems.org/api/v1/dep...tenderlove-frex,spicycode-rcov
HTTP Redirection
Fetching from: https://bundler.rubygems.org/ap...tenderlove-frex,spicycode-rcov
HTTP Success
Query List: []
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb --with-cflags=-w
checking for main() in -lc... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
--with-redcloth_scan-dir
--without-redcloth_scan-dir
--with-redcloth_scan-include
--without-redcloth_scan-include=${redcloth_scan-dir}/include
--with-redcloth_scan-lib
--without-redcloth_scan-lib=${redcloth_scan-dir}/
--with-clib
--without-clib
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:430:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:509:in `block in try_link0'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/tmpdir.rb:88:in `mktmpdir'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:506:in `try_link0'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:530:in `try_link'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:716:in `try_func'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:946:in `block in have_library'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:891:in `block in checking_for'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:336:in `block (2 levels) in postpone'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:306:in `open'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:336:in `block in postpone'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:306:in `open'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:332:in `postpone'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:890:in `checking_for'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:941:in `have_library'
from extconf.rb:5:in `<main>'
Gem files will remain installed in /Library/Ruby/Gems/2.0.0/gems/RedCloth-4.2.9 for inspection.
Results logged to /Library/Ruby/Gems/2.0.0/gems/RedCloth-4.2.9/ext/redcloth_scan/gem_make.out
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/ext/builder.rb:60:in `run'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/ext/ext_conf_builder.rb:37:in `block in build'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/tempfile.rb:324:in `open'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/ext/ext_conf_builder.rb:18:in `build'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/installer.rb:678:in `block (2 levels) in build_extensions'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/installer.rb:677:in `chdir'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/installer.rb:677:in `block in build_extensions'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/installer.rb:652:in `each'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/installer.rb:652:in `build_extensions'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/installer.rb:218:in `install'
/Library/Ruby/Gems/2.0.0/gems/bundler-1.5.3/lib/bundler/source/rubygems.rb:100:in `block in install'
/Library/Ruby/Gems/2.0.0/gems/bundler-1.5.3/lib/bundler/rubygems_integration.rb:118:in `preserve_paths'
/Library/Ruby/Gems/2.0.0/gems/bundler-1.5.3/lib/bundler/source/rubygems.rb:93:in `install'
/Library/Ruby/Gems/2.0.0/gems/bundler-1.5.3/lib/bundler/installer.rb:111:in `block in install_gem_from_spec'
/Library/Ruby/Gems/2.0.0/gems/bundler-1.5.3/lib/bundler/rubygems_integration.rb:150:in `with_build_args'
/Library/Ruby/Gems/2.0.0/gems/bundler-1.5.3/lib/bundler/installer.rb:110:in `install_gem_from_spec'
/Library/Ruby/Gems/2.0.0/gems/bundler-1.5.3/lib/bundler/installer.rb:265:in `block in install_sequentially'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/forwardable.rb:171:in `each'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/forwardable.rb:171:in `each'
/Library/Ruby/Gems/2.0.0/gems/bundler-1.5.3/lib/bundler/installer.rb:264:in `install_sequentially'
/Library/Ruby/Gems/2.0.0/gems/bundler-1.5.3/lib/bundler/installer.rb:97:in `run'
/Library/Ruby/Gems/2.0.0/gems/bundler-1.5.3/lib/bundler/installer.rb:15:in `install'
/Library/Ruby/Gems/2.0.0/gems/bundler-1.5.3/lib/bundler/cli.rb:255:in `install'
/Library/Ruby/Gems/2.0.0/gems/bundler-1.5.3/lib/bundler/vendor/thor/command.rb:27:in `run'
/Library/Ruby/Gems/2.0.0/gems/bundler-1.5.3/lib/bundler/vendor/thor/invocation.rb:121:in `invoke_command'
/Library/Ruby/Gems/2.0.0/gems/bundler-1.5.3/lib/bundler/vendor/thor.rb:363:in `dispatch'
/Library/Ruby/Gems/2.0.0/gems/bundler-1.5.3/lib/bundler/vendor/thor/base.rb:440:in `start'
/Library/Ruby/Gems/2.0.0/gems/bundler-1.5.3/lib/bundler/cli.rb:10:in `start'
/Library/Ruby/Gems/2.0.0/gems/bundler-1.5.3/bin/bundle:20:in `block in <top (required)>'
/Library/Ruby/Gems/2.0.0/gems/bundler-1.5.3/lib/bundler/friendly_errors.rb:5:in `with_friendly_errors'
/Library/Ruby/Gems/2.0.0/gems/bundler-1.5.3/bin/bundle:20:in `<top (required)>'
/usr/bin/bundle:23:in `load'
/usr/bin/bundle:23:in `<main>'
An error occurred while installing RedCloth (4.2.9), and Bundler cannot continue.
Make sure that `gem install RedCloth -v '4.2.9'` succeeds before bundling.发布于 2014-05-22 08:16:12
您面临的问题是特定于OSX Mavericks和最新版本的XCode (截至2014年5月21日)。我也在10.9.2上,我遇到了以下问题,我相信这也是你面临的问题。
以下是我在尝试安装/构建Ruby gem时遇到的问题,这些问题涉及到编译本机代码和/或一些依赖项。
在你的输出中,你会看到像Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers.这样的东西。
原因:您的系统上没有安装ubiquitus 命令行工具。
解决方案:有3种方法可以安装命令行工具:1)安装完整的XCode套件,启动它,并让它为您安装命令行工具,2)运行xcode-select --install,它将弹出一个对话框,询问您是要安装完整的XCode、只安装命令行工具,还是要取消。第二种方法是我所做的,它曾经对我有效,但我看到它在其他机器上失败了,因为显然它在线查找软件包的位置有时是可访问的,有时是不可访问的,所以如果你想尝试这个方法,但它可能不起作用,最后,3)从页面从web下载它(使用苹果帐户登录在您的输出中的某处获得类似clang: error: unknown argument: '-multiply_definedsuppress' [-Wunused-command-line-argument-hard-error-in-future]的内容。
原因: XCode的最新版本删除了对未使用的命令行参数的支持,因为XCode 5.1 release notes mention:
编译器
从Apple LLVM编译器版本5.1 (clang-502)开始,优化级别-O4不再意味着链接时间优化(LTO)。为了使用LTO显式地构建,除了优化级别标志之外,还要使用-flto选项。(15633276)
Xcode 5.1中的Apple LLVM编译器将无法识别的命令行选项视为错误。在构建Python原生扩展和Ruby Gems时,已发现此问题,其中当前指定了一些无效的编译器选项。
使用无效编译器选项的项目将需要更改以删除这些选项。为了帮助简化转换,编译器将临时接受将错误降级为警告的选项:
-Wno-error=unused-command-line-argument-hard-error-in-future
注意:以后将不支持此选项。
要解决此问题,请将ARCHFLAGS环境变量设置为将错误降级为警告。例如,您可以使用以下命令安装Python本机扩展:
$ ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future easy_install ExtensionName
类似地,您可以使用以下命令安装Ruby Gem:
$ ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install GemName (16214764)
解决方案:在上面的XCode发行说明中的代码片段中提到了该解决方案,基本上意味着在运行gem安装之前设置环境变量ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future,如下所示:
导出ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem安装
..。或者,如果需要以sudo身份执行,请将以上两行放入脚本并以sudo身份执行,或者以sudo内联方式运行:
sudo bash -c "export sudo gem -c ;";
注意:上面的解决方案(设置ARCHFLAGS环境变量)将在未来的某个时候停止工作,如前面的发行说明所示。希望到那时,当前的Ruby已经从他们的Makefiles中删除了未使用的命令行选项。
Ruby:我使用上面概述的方法在github-pages OSX 10.9.2中成功安装了github-pages Ruby
发布于 2014-03-21 02:18:21
从App Store安装后,在应用程序目录中找到Xcode并启动它(而不是从终端)。它可能会告诉你它需要下载更多的东西。随它去吧。然后,您可以继续按照其他需要Xcode的软件的说明进行操作。如果它仍然不能工作,很可能是其他软件的安装说明有问题。我会联系该软件的维护者询问细节。祝好运!
https://stackoverflow.com/questions/22541706
复制相似问题