Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Ruby gem“byebug 5.0.0”安装失败,原因是出现错误_Ruby On Rails_Ruby_Rubygems_Byebug - Fatal编程技术网

Ruby on rails Ruby gem“byebug 5.0.0”安装失败,原因是出现错误

Ruby on rails Ruby gem“byebug 5.0.0”安装失败,原因是出现错误,ruby-on-rails,ruby,rubygems,byebug,Ruby On Rails,Ruby,Rubygems,Byebug,我正试图在ubuntu环境中安装byebug gem v5.0.0。 V5.0.0是项目要求,我不能使用更新的版本。 这些是我正在使用的当前版本 bundle -v Bundler version 2.1.4 ruby -v ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu] bundle -v Bundler version 2.1.4 rvm -v rvm 1.29.10 (manual) by Michal

我正试图在ubuntu环境中安装byebug gem v5.0.0。 V5.0.0是项目要求,我不能使用更新的版本。 这些是我正在使用的当前版本

bundle -v
Bundler version 2.1.4

ruby -v
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]

bundle -v
Bundler version 2.1.4

rvm -v
rvm 1.29.10 (manual) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]

rails -v
Rails 5.2.3
当我尝试使用gem install byebug-v 5.0.0进行安装时,以下内容将写入cli。 执行gem的make文件时,安装似乎失败

即使我尝试在/var/lib/gems/2.7.0/gems/byebug-5.0.0/ext/byebug目录中执行make,我也会从context.c文件开始收到相同的错误消息

这似乎是5.0.0版本的安装问题,我确实尝试安装了最新版本的byebug进行测试,并且安装成功

current directory: /var/lib/gems/2.7.0/gems/byebug-5.0.0/ext/byebug
/usr/bin/ruby2.7 -I /usr/lib/ruby/2.7.0 -r ./siteconf20201011-7796-1qpm603.rb extconf.rb
creating Makefile

current directory: /var/lib/gems/2.7.0/gems/byebug-5.0.0/ext/byebug
make "DESTDIR=" clean

current directory: /var/lib/gems/2.7.0/gems/byebug-5.0.0/ext/byebug
make "DESTDIR="
compiling breakpoint.c
compiling byebug.c
compiling context.c
context.c: In function ‘call_with_debug_inspector’:
context.c:191:20: error: passing argument 1 of ‘rb_ensure’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  191 |   return rb_ensure(open_debug_inspector, (VALUE) data, close_debug_inspector,
      |                    ^~~~~~~~~~~~~~~~~~~~
      |                    |
      |                    VALUE (*)(struct call_with_inspection_data *) {aka long unsigned int (*)(struct call_with_inspection_data *)}
In file included from /usr/include/ruby-2.7.0/ruby.h:33,
                 from ./byebug.h:4,
                 from context.c:1:
/usr/include/ruby-2.7.0/ruby/ruby.h:1990:17: note: expected ‘VALUE (*)(VALUE)’ {aka ‘long unsigned int (*)(long unsigned int)’} but argument is of type ‘VALUE (*)(struct call_with_inspection_data *)’ {aka ‘long unsigned int (*)(struct call_with_inspection_data *)’}
 1990 | VALUE rb_ensure(VALUE(*)(VALUE),VALUE,VALUE(*)(VALUE),VALUE);
      |                 ^~~~~~~~~~~~~~~
context.c:191:56: error: passing argument 3 of ‘rb_ensure’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  191 |   return rb_ensure(open_debug_inspector, (VALUE) data, close_debug_inspector,
      |                                                        ^~~~~~~~~~~~~~~~~~~~~
      |                                                        |
      |                                                        VALUE (*)(struct call_with_inspection_data *) {aka long unsigned int (*)(struct call_with_inspection_data *)}
In file included from /usr/include/ruby-2.7.0/ruby.h:33,
                 from ./byebug.h:4,
                 from context.c:1:
/usr/include/ruby-2.7.0/ruby/ruby.h:1990:39: note: expected ‘VALUE (*)(VALUE)’ {aka ‘long unsigned int (*)(long unsigned int)’} but argument is of type ‘VALUE (*)(struct call_with_inspection_data *)’ {aka ‘long unsigned int (*)(struct call_with_inspection_data *)’}
 1990 | VALUE rb_ensure(VALUE(*)(VALUE),VALUE,VALUE(*)(VALUE),VALUE);
      |                                       ^~~~~~~~~~~~~~~
In file included from /usr/include/ruby-2.7.0/ruby/ruby.h:2148,
                 from /usr/include/ruby-2.7.0/ruby.h:33,
                 from ./byebug.h:4,
                 from context.c:1:
context.c: In function ‘Init_context’:
/usr/include/ruby-2.7.0/ruby/intern.h:1218:137: error: passing argument 3 of ‘rb_define_singleton_method1’ from incompatible pointer type [-Werror=incompatible-pointer-types]
 1218 | #define rb_define_singleton_method(klass, mid, func, arity) rb_define_singleton_method_choose_prototypem3((arity),(func))((klass),(mid),(func),(arity));
      |                                                                                                                                         ^~~~~~
      |                                                                                                                                         |
      |                                                                                                                                         VALUE (*)(VALUE) {aka long unsigned int (*)(long unsigned int)}
context.c:673:3: note: in expansion of macro ‘rb_define_singleton_method’
  673 |   rb_define_singleton_method(cDebugThread, "inherited", dt_inherited, 1);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.7.0/ruby/intern.h:1195:27: note: expected ‘VALUE (*)(VALUE,  VALUE)’ {aka ‘long unsigned int (*)(long unsigned int,  long unsigned int)’} but argument is of type ‘VALUE (*)(VALUE)’ {aka ‘long unsigned int (*)(long unsigned int)’}
 1195 | RB_METHOD_DEFINITION_DECL(rb_define_singleton_method, (2,3), (VALUE klass, const char *name), (klass, name))
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.7.0/ruby/intern.h:1042:82: note: in definition of macro ‘RB_METHOD_DEFINITION_DECL_C’
 1042 |     __attribute__((__unused__,__weakref__(#def),__nonnull__ nonnull))static void defname(RB_UNWRAP_MACRO decl,VALUE(*func)funcargs,int arity);
      |                                                                                  ^~~~~~~
/usr/include/ruby-2.7.0/ruby/intern.h:1075:1: note: in expansion of macro ‘RB_METHOD_DEFINITION_DECL_1’
 1075 | RB_METHOD_DEFINITION_DECL_1(def,nonnull,def##1 ,1 ,decl,vars,(VALUE,VALUE)) \
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-2.7.0/ruby/intern.h:1195:1: note: in expansion of macro ‘RB_METHOD_DEFINITION_DECL’
 1195 | RB_METHOD_DEFINITION_DECL(rb_define_singleton_method, (2,3), (VALUE klass, const char *name), (klass, name))
      | ^~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make: *** [Makefile:245: context.o] Error 1

make failed, exit code 2

该版本的byebug是2015年ruby在v2.2.1上发布的

如果你不能使用更新的bye bug;使用旧的ruby

ruby的旧版本可能会要求您使用项目所需的所有gems的旧版本。是否有显示目标版本的Gemfile.lock?如果不是的话,您可能不得不在2015年初使用ruby gems来查找每一代的最新版本

显示byebug的版本发布日期