Command-T不会为Vim编译

时间:2018-08-07 23:17:32

标签: vim

我正在尝试为Vim安装Command-T,但到目前为止没有成功。

我使用brew重新安装了vim,而vim的ruby版本是2.5.1

我使用RVM安装了ruby 2.5.1,我运行了ruby ruby​​ extconf.rb,得到了这个输出

checking for float.h... yes
checking for ruby.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for fcntl.h... yes
checking for stdint.h... yes
checking for sys/errno.h... yes
checking for sys/socket.h... yes
checking for ruby/st.h... yes
checking for st.h... yes
checking for pthread_create() in -lpthread... yes
creating Makefile

然后我跑去拿了:

compiling ext.c
compiling heap.c
compiling match.c
compiling matcher.c
compiling watchman.c
linking shared-object ext.bundle

但是当我尝试在vim上使用它时,我收到以下消息:

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

如果我使用ruby 2.5.0版进行编译,则该消息表明我得到了错误的ruby版本。

我不知道我还能做什么,请帮助我

1 个答案:

答案 0 :(得分:3)

问题在于,您必须使用与 vim 相同的 ruby​​ 编译 command-t C 扩展名

您提到您正在使用 RVM ,并且vim是用 ruby​​ 2.5.1-p57 编译的。您需要选择完全相同的红宝石。如果您从 RVM 用ruby 2.5.1-p57编译(在您的情况下安装酿造)vim,则运行命令:

$ rvm use 2.5.1-p57

然后重新编译命令-t,确保ruby -v返回2.5.1-p57:

$ ruby -v

$ ruby extconf.rb

$ make

如果这无济于事,则可能是您将其安装了系统范围的红宝石,并具有相同的2.5.1版本。这样可以解决问题:

$ rvm use system

$ ruby extconf.rb

$ make

使用与 vim 相同版本的 ruby​​ 编译 command-t 的想法。

在更坏的情况下,您可以重新安装vim。

您还可以引用command-t docs