我正在尝试安装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
允许我安装导轨!