我正在尝试安装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]
建议?
答案 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 system
和ruby 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-devel
或ruby-dev
来安装yum
或apt
。
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)
我通过执行以下步骤解决了这个问题:
find . -name "extconf.rb"
-找到 extconf.rb 文件,该文件可能位于 command-t 文件夹中ruby extconf.rb
make
阅读vim(:help command-t
)内的文档可能也很有用