ruby bundle安装时出错

时间:2017-06-03 23:57:26

标签: ruby ruby-c-extension

当我尝试运行bundle install时,我看到:

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,Ruby 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;
}

1 个答案:

答案 0 :(得分:1)

如果其他宝石有相同的错误(并且它的初始bundle install),请尝试将gemfile source 'https://rubygems.org'更改为source 'http://rubygems.org'

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

但如果任何其他宝石成功安装,那么这是一个糟糕的建议。