无法安装pushmeup插件

时间:2014-03-26 15:49:24

标签: ruby cordova gem push-notification phonegap-plugins

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

  

构建原生扩展。这可能需要一段时间...错误:错误   安装pushmeup:错误:无法构建gem原生扩展。

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
     

extconf.rb创建Makefile

     

使“DESTDIR =”清洁

     

make“DESTDIR =”编译generator.c链接共享对象   json / ext / generator.bundle clang:错误:未知参数:   '-multiply_definedsuppress'   [-Wunused-command-line-argument-hard-error-in-future] clang:注意:   这将是一个很难的错误(不能降级为警告)   将来make: * [generator.bundle]错误1

     

make failed,退出代码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 个答案:

答案 0 :(得分: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)Apple LLVM编译器   Xcode 5.1将无法识别的命令行选项视为错误。这个   在构建Python原生扩展和时,已经看到了问题   Ruby Gems,当前有一些无效的编译器选项   指定。需要使用无效编译器选项的项目   已更改为删除这些选项。为了帮助缓解这种转变,   编译器将暂时接受将错误降级为a的选项   警告:

     

-Wno误差=未使用的命令行参数的硬错误功能于将来

     

注意:将来不再支持此选项。解决方法   这个问题,设置ARCHFLAGS环境变量降级   警告错误。例如,您可以安装Python本机   扩展名:

     

$ ARCHFLAGS = -Wno误差=未使用的命令行参数的硬错误功能于未来   easy_install ExtensionName

     

同样,您可以使用以下命令安装Ruby Gem:

     

$ ARCHFLAGS = -Wno误差=未使用的命令行参数的硬错误功能于未来   gem install GemName 16214764已更新

编辑历史

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

$ 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的日志吗?