我正在尝试为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版本。
我不知道我还能做什么,请帮助我
答案 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