say*_*yth 5 ruby vim rake ubuntu-11.10
我在ubuntu 11.10上安装并运行了vim-gnome.使用vundle并安装了seeral软件包.
我已经安装了命令-t但是在编译C扩展之前它不会起作用.阅读手册这是解决方案.
rake make
Run Code Online (Sandbox Code Playgroud)
对我来说,位置实际上是:
~/.vim/bundle/command-t
Run Code Online (Sandbox Code Playgroud)
无论如何,所以我关闭了rvm并按照命令-t帮助指南中的建议安装了系统1.8.我检查了文档,命令错误的最常见原因是编译错误的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)
Run Code Online (Sandbox Code Playgroud)
所以我为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
Run Code Online (Sandbox Code Playgroud)
然后它去编译.
但是启动gvim并运行\ t for command -t和
Vim: Caught deadly signal SEGV
Vim: Finished.
Segmentation fault
Run Code Online (Sandbox Code Playgroud)
如何在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
Run Code Online (Sandbox Code Playgroud)
vim version命令返回正确的ruby支持是针对我安装的系统1.8构建的,但在使用命令T时它仍然是SEGV.
所以找到并尝试了这个
cd ~/.vim/ruby/command-t
/usr/bin/ruby extconf.rb
make
Run Code Online (Sandbox Code Playgroud)
这也失败了.然后我将其从之前的支持票证添加到bashrc.
vim() {
(unset GEM_PATH GEM_HOME; command vim "$@")
}
Run Code Online (Sandbox Code Playgroud)
Sea*_*ean 13
使用rake任务时遇到了类似的问题.我通过自己编译扩展来解决它.
从command-t插件目录:
rvm use system
cd ruby/command-t
ruby extconf.rb
make
sudo make install
Run Code Online (Sandbox Code Playgroud)