Vim Command-T插件错误:无法加载C扩展

时间:2011-10-27 22:04:46

标签: ruby vim plugins

我正在尝试安装Command-T插件。

我按照此评论中的说明编译了vim:Installing vim with ruby support (+ruby)

所以现在有+ ruby​​标志,但是当我尝试使用插件时,我得到了这个错误:

command-t.vim could not load the C extension
Please see INSTALLATION and TROUBLE-SHOOTING in the help              
For more information type:    :help command-t

我的系统上有红宝石:

> ruby -v
> ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]

建议?

10 个答案:

答案 0 :(得分:102)

转到插件目录并运行以下命令:

rake make

它编译了你需要的插件扩展。

答案 1 :(得分:30)

我遇到了同样的错误,但在阅读完本手册后,我发现以下内容非常有用。

https://github.com/wincent/Command-T

中的INSTALLATION部分标记
  

然后必须构建C扩展,这可以从shell完成。如果你   使用典型的''runtimepath'|然后文件安装在〜/ .vim和   您可以使用以下内容构建扩展程序:

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

答案 2 :(得分:4)

您必须使用与Vim本身相关联的相同版本的Ruby来执行构建。

您使用的是RVM还是rbenv?就个人而言,我使用的是rbenv和MacVim。我有这个错误,因为我正在尝试使用ruby 1.8.7补丁 352 。我在运行rbenv shell systemruby extconf.rb之前使用make 切换回1.8.7补丁 249 ,然后一切正常。

之后,您可以使用rbenv shell --unset恢复您的shell。

答案 3 :(得分:2)

关于debian squeeze我还必须使用apt-get install libjson-ruby1.8安装带有ruby的json库

答案 4 :(得分:1)

Command-T需要编译组件。错误消息表明您没有完全遵循插件的安装说明。

答案 5 :(得分:1)

查看以下网址上的安装说明:https://github.com/wincent/Command-T 在该页面上搜索标题“INSTALLATION”。您很可能没有按照此官方README的说明进行操作。如果您使用的是RVM,请确保使用系统ruby。这些都在文档中注明。

答案 6 :(得分:1)

如果您确定按照the github project上的说明操作,可能需要重新启动vim和终端。我遇到了同样的问题,当我重新启动Vim时,它终于奏效了!

答案 7 :(得分:1)

我收到了类似的错误,并按照其中一个答案中的建议尝试rake make,该答案也运行ruby extconf.rb,我收到了以下错误

─$ rake make
/usr/bin/ruby2.3 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h
rake aborted!
Command failed with status (1): [/usr/bin/ruby2.3 extconf.rb...]
/home/shreedhan/.vim/bundle/command-t/Rakefile:84:in `block (2 levels) in <top (required)>'
/home/shreedhan/.vim/bundle/command-t/Rakefile:83:in `chdir'
/home/shreedhan/.vim/bundle/command-t/Rakefile:83:in `block in <top (required)>'
Tasks: TOP => make
(See full trace by running task with --trace)

您需要根据发行版上是否有ruby-develruby-dev来安装yumapt

yum install ruby-devel

$ apt install ruby-dev

答案 8 :(得分:0)

最终,经过一些试验和错误,我在命令-t FAQ中找到了这个命令,该命令处理Mac OS问题。我正在运行“High Sierra 10.13.4”:

ARCHFLAGS = -Wno-error = unused-command-line-argument-hard-error-in-future ruby​​ extconf.rb

这似乎生成了一个成功运行编译的Makefile。我尝试了很多东西,这个解决方案感觉有点货难。

答案 9 :(得分:0)

我通过执行以下步骤解决了这个问题:

  1. 在您的〜/ .vim 中找到您的 ruby​​ 文件夹,因为在〜/ .vim / ruby​​
  2. 中找不到我的文件夹
  3. find . -name "extconf.rb"-找到 extconf.rb 文件,该文件可能位于 command-t 文件夹中
  4. ruby extconf.rb
  5. make
  6. 重新打开vim

阅读vim(:help command-t)内的文档可能也很有用