Rails安装在运行Nior4时会失败



我正在尝试安装Rails的当前稳定版本(5.2)

gem install rails

但失败:

ERROR:  Error installing rails:
    ERROR: Failed to build gem native extension.
current directory: /Users/ms1/.rvm/gems/ruby-2.4.1/gems/nio4r-2.1.0/ext/nio4r
[…]
compiling nio4r_ext.c
In file included from nio4r_ext.c:7:
./../libev/ev.c:488:48: warning: '/*' within block comment [-Wcomment]
/*#define MIN_INTERVAL  0.00000095367431640625 /* 1/2**20, good till 2200 */
                                              ^
./../libev/ev.c:1068:26: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32]
[…]
fatal error: too many errors emitted, stopping now [-ferror-limit=]
9 warnings and 20 errors generated.
make: *** [nio4r_ext.o] Error 1
make failed, exit code 2

我在Mac OS X Highsierra(10.13.2)上,我已经安装了带有开发人员/命令行工具(9.2)的Xcode(9.2),RVM 1.29.3,Homebrew 1.4.4.0,Bundler 1.16.0,Nokogiri 1.8.1。

我在Ruby 2.4.1上,但也尝试了2.4.2、2.3.0、2.2.2,始终以相同的结果。

手动安装NiO4R会导致相同的问题:

gem install nio4r
[…]
ERROR: Failed to build gem native extension.

stackoverflow建议的一些答案

gem install nio4r -v '1.1.0' -- with-cflags="-std=c99"

也不起作用。

有趣的是,

rails

给我机器上的以下输出:

Ignoring bigdecimal-1.3.2 because its extensions are not built.  
Try: gem pristine bigdecimal --version 1.3.2
Rails is not currently installed on this system. To get the latest version, simply type: sudo gem install rails

当然,我也尝试了上述两个提示。两者都会导致与最初规定的相同问题。

由于我在这里用尽了想法,找不到其他有用的建议,我真的很期待任何想法!

在Nio4r的GitHub页面上提出问题解决了我的问题:我的系统上的/usr/local/include/中有一个旧的 port.h文件,这引起了麻烦。

删除/usr/local/include/port.h允许我安装导轨!

最新更新