安装linecache19时出错

Ros*_*one 2 ruby gem rvm linecache

我一直想跑bundle install.以下是我输入的一系列命令以及错误消息的相关片段.

bundle update
Run Code Online (Sandbox Code Playgroud)

安装linecache时出错(0.46),Bundler无法继续.在捆绑之前
确保gem install linecache -v '0.46'成功.

gem install linecache -v '0.46'
Run Code Online (Sandbox Code Playgroud)

还不能处理1.9.x.

gem install linecache19
Run Code Online (Sandbox Code Playgroud)

检查vm_core.h ...没有

最后:

gem install linecache19 -- --with-ruby-include=/opt/t/rvm/src/ruby-1.9.3-p194

ERROR:  Error installing linecache19:
    ERROR: Failed to build gem native extension.

    /opt/t/rvm/rubies/ruby-2.0.0-p0/bin/ruby extconf.rb --with-ruby-include=/opt/t/rvm/src/ruby-1.9.3-p194
checking for vm_core.h... yes
checking for version.h... yes
creating Makefile

make
compiling trace_nums.c
In file included from trace_nums.c:21:
/opt/t/rvm/src/ruby-1.9.3-p194/vm_core.h:311:5: error: unknown type name 'rb_event_hook_t'; did you mean 'rb_event_flag_t'?
    rb_event_hook_t *event_hooks;
    ^~~~~~~~~~~~~~~
    rb_event_flag_t
/opt/t/rvm/rubies/ruby-2.0.0-p0/include/ruby-2.0.0/ruby/ruby.h:1602:23: note: 'rb_event_flag_t' declared here
typedef unsigned long rb_event_flag_t;
                      ^
In file included from trace_nums.c:21:
/opt/t/rvm/src/ruby-1.9.3-p194/vm_core.h:477:5: error: unknown type name 'rb_event_hook_t'; did you mean 'rb_event_flag_t'?
    rb_event_hook_t *event_hooks;
    ^~~~~~~~~~~~~~~
    rb_event_flag_t
/opt/t/rvm/rubies/ruby-2.0.0-p0/include/ruby-2.0.0/ruby/ruby.h:1602:23: note: 'rb_event_flag_t' declared here
typedef unsigned long rb_event_flag_t;
                      ^
trace_nums.c:61:25: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
    len = strlen(token) - 1;
        ~ ~~~~~~~~~~~~~~^~~
1 warning and 2 errors generated.
make: *** [trace_nums.o] Error 1


Gem files will remain installed in /opt/t/rvm/gems/ruby-2.0.0-p0/gems/linecache19-0.5.12 for inspection.
Results logged to /opt/t/rvm/gems/ruby-2.0.0-p0/gems/linecache19-0.5.12/ext/trace_nums/gem_make.out
Run Code Online (Sandbox Code Playgroud)

sk1*_*712 5

强制Gemfile使用这些版本

gem 'linecache19', '0.5.13', :path => "~/.rvm/gems/ruby-1.9.3-p0/gems/linecache19-0.5.13/"
Run Code Online (Sandbox Code Playgroud)

然后 bundle install