Ruby 命令-t SEGV

标签 ruby vim rake ubuntu-11.10

我在 ubuntu 11.10 上安装了 vim-gnome 并且可以正常工作。使用 vundle 并安装了 seeral 软件包,一切正常。

我已经安装了 command-t,但在编译 C 扩展之前它无法运行。阅读手册,这就是解决方案。

  rake make

对我来说,位置实际上是:

~/.vim/bundle/command-t

无论如何,我关闭了 rvm 并按照 command-t 帮助指南中的建议安装了系统 1.8。 我检查了文档,command-t 错误的最常见原因是针对错误的 ruby​​ 进行编译。

所以我找到了这个命令来检查编译版本。

renshaw@renshaw-TravelMate-5740G:~/.vim/bundle/command-t$ ldd `which vim` | grep ruby
libruby1.8.so.1.8 => /usr/lib/libruby1.8.so.1.8 (0x00007f913932c000)

所以我为 ruby​​ 1.8 安装了 rake 并用 rake make 编译

renshaw@renshaw-TravelMate-5740G:~/.vim/bundle/command-t$ sudo rake make
/usr/bin/ruby1.8 extconf.rb
checking for ruby.h... yes

然后开始编译。

但是启动 gvim 并为 command-t 和运行\t

Vim: Caught deadly signal SEGV
Vim: Finished.
Segmentation fault

如何让 command-t 在 ubuntu 11.10 上运行?

更新。

使用源代码构建 Gvim

hg clone https://vim.googlecode.com/hg/ vim
cd vim
sudo ./configure --enable-rubyinterp=yes --enable-pythoninterp=yes --enable-gui=gtk2
make 
make install

vim --version | grep ruby

vim 版本命令返回正确的 ruby​​ 支持是针对我安装的系统 1.8 构建的,但在使用命令 T 时它仍然是 SEGV。

所以发现并尝试了这个

cd ~/.vim/ruby/command-t
/usr/bin/ruby extconf.rb
make

这也失败了。 然后,我将其从之前的支持票添加到 bashrc。

vim() {
    (unset GEM_PATH GEM_HOME; command vim "$@")
}

最佳答案

我在使用 rake 任务时遇到了类似的问题。我通过自己编译扩展解决了这个问题。

从command-t插件目录:

rvm use system    
cd ruby/command-t
ruby extconf.rb
make
sudo make install

关于Ruby 命令-t SEGV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9052646/

相关文章:

ruby - 在写入时将 .mov 流式传输到浏览器

mysql - Ruby on Rails : Querying Serialize Data

ruby - 如何制作无限枚举器

c++ - Vim 中的 Ansi C 支持

ruby-on-rails - 慢轨堆栈

ruby-on-rails - 关于在 ruby​​ on rails 中解析文件的问题

vim - 使用vim-airline在vim中的选项卡之间切换

vim - 如何在 VIM 中将文件夹添加到项目(如 Sublime Text)?

ruby-on-rails - 如何设置当前的 "version number"迁移?

ruby-on-rails - 从 Rake 文件中的任务调用方法