How do I install 'byebug' for ruby on Windows?

北战南征 提交于 2019-12-20 04:55:37

问题


I am new to ruby and trying to setup my dev environment (Windows 10). I have installed ruby and rails but cannot install byebug. From what I read I need the DevKit first. So I installed it by following the guide here:

https://github.com/oneclick/rubyinstaller/wiki/Development-Kit

and then tried to install the gem but have no luck. I have tried to uninstall and then force install DevKit but still cant get byebug installed. This is what I am seeing:

C:\RubySDK>gem install byebug
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing byebug:
        ERROR: Failed to build gem native extension.

    C:/Ruby22/bin/ruby.exe -r ./siteconf20150923-3628-5vg5h3.rb extconf.rb
creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
generating byebug-i386-mingw32.def
compiling breakpoint.c
In file included from c:/Ruby22/include/ruby-2.2.0/ruby.h:33:0,
                 from ./byebug.h:4,
                 from breakpoint.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 ./byebug.h:4,
                 from breakpoint.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: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1157:2: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1158:6: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1158:27: error: cast to pointer from integer of different size [-Werror=int-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: error: cast to pointer from integer of different size [-Werror=int-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: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1271:34: error: cast to pointer from integer of different size [-Werror=int-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: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1344:9: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1344:9: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1344:36: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1344:36: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1344:36: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1345:9: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1345:9: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1345:9: error: cast to pointer from integer of different size [-Werror=int-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: error: cast to pointer from integer of different size [-Werror=int-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: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
breakpoint.c: In function 'eval_expression':
breakpoint.c:21:45: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
breakpoint.c:21:45: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
breakpoint.c:21:45: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
breakpoint.c: In function 'filename_cmp_impl':
breakpoint.c:288:11: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
breakpoint.c:288:11: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
breakpoint.c:288:11: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
breakpoint.c:292:16: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
breakpoint.c:292:16: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
breakpoint.c:292:16: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
breakpoint.c: In function 'find_breakpoint_by_pos':
breakpoint.c:458:10: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
breakpoint.c:458:10: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
breakpoint.c:458:10: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
breakpoint.c:460:19: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
breakpoint.c:460:19: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
breakpoint.c:460:19: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
breakpoint.c: In function 'find_breakpoint_by_method':
breakpoint.c:480:19: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
breakpoint.c:480:19: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
breakpoint.c:480:19: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
cc1.exe: all warnings being treated as errors
make: *** [breakpoint.o] Error 1

make failed, exit code 2

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

Is there another way around this? Thanks


回答1:


You have to install the version also like this:

gem install byebug -v 5.0.0

Here's the link if you need more information,

https://rubygems.org/gems/byebug/versions/5.0.0




回答2:


I know this is a late reply!

But when you face difficulties with DevKit, in this case with native gem such as buybug or json, you have to know that if your System type is 64 bit, you must use a RubyInstaller 64 bit, and DevKit 64 bit. Follow the same principle with a 32 bit system type, use a RubyInstaller 32bit, and DevKit 32bit.

Also do not forget to run few commands after you installed, ruby and rails and DevKit, to do this go to the permanent installation of DevKit through terminal(cmd in windows) and run:

Commands:

  1. ruby dk.rb init - this will create the configuration file
  2. then run ruby dk.rb install

Cheers and Happy Coding. Ibrax.




回答3:


Found the problem. Looks like I was using the wrong DevKit version. I installed 64bit when I had a 32bit ruby installation



来源:https://stackoverflow.com/questions/32751824/how-do-i-install-byebug-for-ruby-on-windows

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!