2017-06-03 146 views
-1

当我尝试运行的捆绑安装我看到:错误红宝石捆绑安装

To see why this extension failed to compile, please check the mkmf.log which can 
be found here: 

C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/extensions/x86- 
mingw32/2.3.0/nio4r-2.1.0/mkmf.log 

extconf failed, exit code 1 

Gem files will remain installed in 
C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/nio4r-2.1.0 for 
inspection. 
Results logged to 
C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/extensions/x86- 
mingw32/2.3.0/nio4r-2.1.0/gem_make.out 

An error occurred while installing nio4r (2.1.0), and Bundler cannot continue. 
Make sure that `gem install nio4r -v '2.1.0'` succeeds before bundling. 

我使用Windows 10,红宝石2.3.3,Rails的5.0.2。

mkmf.log内容是:

"gcc -o conftest.exe -IC:/RailsInstaller/Ruby2.3.0/include/ruby-2.3.0/i386- 
mingw32 -IC:/RailsInstaller/Ruby2.3.0/include/ruby-2.3.0/ruby/backward - 
IC:/RailsInstaller/Ruby2.3.0/include/ruby-2.3.0 -I. -DFD_SETSIZE=2048 - 
D_WIN32_WINNT=0x0501 -D__MINGW_USE_VC2005_COMPAT -D_FILE_OFFSET_BITS=64 - 
O3 -fno-omit-frame-pointer -fno-fast-math -g -Wall -Wextra -Wno-unused- 
parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers - 
Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after- 
statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno- 
packed-bitfield-compat conftest.c -L. -LC:/RailsInstaller/Ruby2.3.0/lib -L.  
-lmsvcrt-ruby230 -lshell32 -lws2_32 -liphlpapi -limagehlp -lshlwapi " 

经过程序为:

#include "ruby.h" 

#include <winsock2.h> 
#include <windows.h> 
int main(int argc, char **argv) 
{ 
    return 0; 
} 
+0

正在运行'gem install nio4r -v'2.1.0''还显示错误? – Gerry

+0

如果在发布问题时提供尽可能多的信息,那么我们可以提供帮助,您的mkmf.log文件的内容是什么,它应该提供有关错误的一些信息 – Subash

+0

是的,我正在运行gem install nio4r -v'2.1.0'和同样的错误显示我 –

回答

1

如果其他宝石有同样的错误(和它的初始bundle install),尝试在Gemfile中source 'https://rubygems.org'更改为source 'http://rubygems.org'

我在企业网络中的Windows中遇到了这个问题,并且在ssl的某个地方出现了问题。该解决方案适用于我,但我知道,这不是最好的解决方案。

但这是一个不好的建议,如果任何其他成功安装的宝石。

+0

我已经尝试,将其更改为源'http://rubygems.org'不起作用 –

+0

我的意思是将其更改为http –