首页 文章

无法安装pushmeup插件

提问于
浏览
2

我尝试为phonegap推送通知(ios)安装 pushmeup 插件 .
当我运行命令 sudo gem install pushmeup 时,我收到此错误:

构建原生扩展 . 这可能需要一段时间...错误:安装pushmeup时出错:错误:无法构建gem原生扩展 . /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
extconf.rb创建Makefile make“DESTDIR =”clean make“DESTDIR =”编译generator.c链接共享对象json / ext / generator.bundle clang:错误:未知参数:' - multiply_definedsuppress'[-Wunused-command-line- clang:注意:这将是一个硬错误(不能降级为警告)将来make:* [generator.bundle]错误1 make失败,退出代码2 Gem文件将保持安装在/Library/Ruby/Gems/2.0.0/gems/json-1.8.1中进行检查 . 结果记录到/Library/Ruby/Gems/2.0.0/extensions/universal-darwin-13/2.0.0/json-1.8.1/gem_make.out

GitHub:

https://github.com/phonegap-build/PushPlugin

Params:

ruby -v ruby 2.0.0p247(2013-06-27修订版41674)[universal.x86_64-darwin13] gem -v 2.2.2 Mac OS X v 10.9.2 XCode版本5.1(5B130a)cordova -v 3.4.0- 0.1.3

1 回答

  • 2

    显然苹果公司在小牛队打破了一些东西,他们根据这个问题删除了警告标志 unused-command-line-argument-hard-error-in-future#528

    请尝试以下命令:

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

    它能做什么?这会设置环境变量: ARCHFLAGS= 这会添加一个忽略警告 -Wno-error= ,这是你在小牛 unused-command-line-argument-hard-error-in-future 中看不到的警告(应该被忽略)

    Apple documentation

    编译器自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已更新

    EDIT HISTORY

    刚刚在我的机器上测试过,使用相同的红宝石:

    $ gem install pushmeup
    Fetching: pushmeup-0.1.2.gem (100%)
    Successfully installed pushmeup-0.1.2
    Parsing documentation for pushmeup-0.1.2
    Installing ri documentation for pushmeup-0.1.2
    Done installing documentation for pushmeup after 1 seconds
    1 gem installed
    

    从我看到你没有使用 rvmrbenv 所以问题不在 gcc 依赖

    根据提供的输出,错误是在安装 json-1.8.1 时 . 你可以发布位于: /Library/Ruby/Gems/2.0.0/extensions/universal-darwin-13/2.0.0/json-1.8.1/gem_make.out 的日志吗?

相关问题