Ошибка плагина Vim Command-T: не удалось загрузить расширение C - PullRequest
57 голосов
/ 28 октября 2011

Я пытаюсь установить плагин Command-T.

Я скомпилировал vim, следуя инструкциям в этом комментарии: Установка vim с поддержкой ruby ​​(+ 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:

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

подсказки

Ответы [ 9 ]

104 голосов
/ 28 октября 2011

Перейдите в каталог плагинов и выполните следующую команду:

rake make

Скомпилирует нужное расширение плагина.

30 голосов
/ 07 февраля 2012

Я столкнулся с той же ошибкой, но после более подробного изучения руководства я нашел следующее полезное:

Помечено в разделе УСТАНОВКА в https://github.com/wincent/Command-T

Cрасширение должно быть построено, что можно сделать из оболочки.Если вы используете типичный | 'runtimepath' |затем файлы были установлены внутри ~ / .vim, и вы можете создать расширение с помощью:

  cd ~/.vim/ruby/command-t
  ruby extconf.rb
  make
4 голосов
/ 16 марта 2012

Вы должны выполнить сборку, используя ту же версию Ruby, с которой связан сам Vim.

Вы используете RVM или rbenv? Лично я использовал rbenv и MacVim. У меня была эта ошибка, потому что я пытался использовать патч ruby ​​1.8.7 352 . Я переключился обратно на патч 1.8.7 249 , используя rbenv shell system до работы ruby extconf.rb и make, затем все работало нормально.

После этого вы можете вернуть свою оболочку обратно, используя rbenv shell --unset.

2 голосов
/ 04 марта 2014

В debian squeeze мне также пришлось установить библиотеку json для ruby ​​с apt-get install libjson-ruby1.8

1 голос
/ 28 июля 2017

Я получил похожую ошибку и попытался 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
1 голос
/ 01 ноября 2012

Если вы уверены, что выполняете инструкцию на проекте github , возможно, вам нужно перезапустить vim и терминал.Я столкнулся с той же проблемой, и когда я перезапустил Vim, он наконец заработал!

1 голос
/ 28 октября 2011

Ознакомьтесь с инструкциями по установке: https://github.com/wincent/Command-T Найдите на этой странице заголовок «УСТАНОВКА».Скорее всего, вы не следовали инструкциям этого официального README.Если вы используете RVM, обязательно используйте системный рубин.Это все записано в документации.

1 голос
/ 28 октября 2011

Command-T требует скомпилированный компонент.Сообщение об ошибке говорит о том, что вы не полностью выполнили инструкции по установке плагина.

0 голосов
/ 06 июня 2018

В конце концов, после некоторых проб и ошибок, я нашел эту команду в FAQ по command-t, который касается проблемы Mac OS.Я использую "High Sierra 10.13.4":

ARCHFLAGS = -Wno-error = неиспользуемый аргумент командной строки-жесткая ошибка-в-будущем ruby ​​extconf.rb

Похоже, это сгенерировало Makefile, который успешно выполнил компиляцию.Хотя я много чего перепробовал, и это решение кажется немного сложным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...