【问题标题】:Error installing linecache19安装 linecache19 时出错
【发布时间】:2013-04-25 05:19:34
【问题描述】:

我一直在尝试运行bundle install。下面是我输入的一系列命令和错误信息的相关sn-ps。

bundle update

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

gem install linecache -v '0.46'

还不能处理 1.9.x

gem install linecache19

正在检查 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

【问题讨论】:

标签: ruby gem rvm linecache


【解决方案1】:

强制 Gemfile 使用这些版本

gem 'linecache19', '0.5.13', :path => "~/.rvm/gems/ruby-1.9.3-p0/gems/linecache19-0.5.13/"

然后bundle install

【讨论】:

  • 这也适用于最新的(直到今天)ruby 版本:> gem 'linecache19', '0.5.12', :path => "~/.rvm/gems/ruby-2.0.0 -p247/gems/linecache19-0.5.12/".
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多