An error was reported when installing jekyll under windows system: Error installing jekyll

  git, question
gem install jekyll
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing jekyll:
        ERROR: Failed to build gem native extension.

    current directory: C:/Ruby22/lib/ruby/gems/2.2.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser
C:/Ruby22/bin/ruby.exe -r ./siteconf20180227-30372-ssgv65.rb extconf.rb
creating Makefile

current directory: C:/Ruby22/lib/ruby/gems/2.2.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser
make "DESTDIR=" clean

current directory: C:/Ruby22/lib/ruby/gems/2.2.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser
make "DESTDIR="
generating ruby_http_parser-i386-mingw32.def
compiling ruby_http_parser.c
In file included from c:/Ruby22/include/ruby-2.2.0/ruby.h:33:0,
                 from ruby_http_parser.c:1:
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:111:14: error: size of array 'ruby_check_sizeof_voidp' is negative
In file included from c:/Ruby22/include/ruby-2.2.0/ruby.h:33:0,
                 from ruby_http_parser.c:1:
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h: In function 'rb_obj_freeze_inline':
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1156:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1157:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1158:6: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1158:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h: In function 'rb_data_object_get':
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1192:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h: In function 'rb_obj_written':
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1271:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1271:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h: In function 'rb_num2char_inline':
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1344:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1344:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1344:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1344:36: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1344:36: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1344:36: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1345:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1345:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1345:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h: In function 'rb_class_of':
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1670:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h: In function 'rb_type':
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1687:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
ruby_http_parser.c: In function 'on_message_begin':
ruby_http_parser.c:108:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
ruby_http_parser.c: In function 'on_header_value':
ruby_http_parser.c:146:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
ruby_http_parser.c: In function 'on_headers_complete':
ruby_http_parser.c:192:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
ruby_http_parser.c: In function 'on_body':
ruby_http_parser.c:213:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
ruby_http_parser.c: In function 'on_message_complete':
ruby_http_parser.c:232:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
ruby_http_parser.c: In function 'Parser_execute':
ruby_http_parser.c:314:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
ruby_http_parser.c:314:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
ruby_http_parser.c:314:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
ruby_http_parser.c:314:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
ruby_http_parser.c:315:14: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
ruby_http_parser.c:315:14: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
ruby_http_parser.c:315:14: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
ruby_http_parser.c:320:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
ruby_http_parser.c:330:7: warning: unknown conversion type character 'z' in format [-Wformat]
ruby_http_parser.c:330:7: warning: unknown conversion type character 'z' in format [-Wformat]
ruby_http_parser.c:330:7: warning: too many arguments for format [-Wformat-extra-args]
ruby_http_parser.c: In function 'Parser_set_header_value_type':
ruby_http_parser.c:451:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
make: *** [ruby_http_parser.o] Error 1

make failed, exit code 2

Gem files will remain installed in C:/Ruby22/lib/ruby/gems/2.2.0/gems/http_parser.rb-0.6.0 for inspection.
Results logged to C:/Ruby22/lib/ruby/gems/2.2.0/extensions/x86-mingw32/2.2.0/http_parser.rb-0.6.0/gem_make.out

Refer to installation steps:http://blog.csdn.net/rainlovi …


The local environment configuration information is as follows:

clipboard.png

clipboard.png

clipboard.png

Dear, I have solved the problem. Combined with my repeated process, the problem lies in MYSYS2 and bundle. I will tell you about my installation process and some points for attention (the most important point is that all installation directories should not appear well.Spaces):
1, install ruby, according to your tutorial, no brain points on the line, but there is a point of attention, the installation path, together with the name, do not appear spaces! ! !
2. After ruby is installed, there will be an option for you to install MSYS2. If it is not checked, open cmd and enter “ridk install“For MSYS2 installation, there will be 123 for you and 3 for you. This process will download a lot of installation packages and so on. Please be patient. You must be patient and complete the installation. The installation will allow you to make another 123 choice. You don’t need to choose at this time, just enter and exit.
3. install DevKit atThe official websiteDownload the DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe and click Run. Similarly, the installation directory should not contain spaces. Baidu’s related installation is still relatively simple.
4, then install RubyGems, fromThe official websiteDownload the compression package, decompress it to the directory you want, and do not have spaces in the path. Then the cmd command points to the folder, and enter “ruby setup.rb“Perform installation, also can baidu
5. Install bundler, enter “gem install bundler“Perform the installation
6. The above installation is basically indispensable, and then jekyll can be installed. Execute “gem install jekyll“,finally succeeded.

I also repeated the process of installation, uninstallation and installation, and finally succeeded. jekyll’s requirements are relatively high, so all the environments should not be leaked. This is my method. For your reference, if you cannot do it once, you will have to repeat the whole process. Otherwise, it is easy to make up for this and that, and it is useless. .