我正在尝试安装当前稳定版本的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)上安装了Xcode(9.2)和开发人员/命令行工具(9.2),rvm 1.29.3,Homebrew 1.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
当然,我也试过了上面提到的两个提示;两者都会产生与最初所述相同的问题。
由于我在这里没有想法,也找不到任何其他有用的建议,我真的很期待任何有关这方面的想法!
答案 0 :(得分:1)
提交issue on nio4r's Github page解决了我的问题:我的系统port.h
中已放弃的Postgres安装中有一个旧的/usr/local/include/
文件导致了问题。
删除/usr/local/include/port.h
允许我安装Rails!