it-swarm.com.ru

Ошибка плагина Vim Command-T: не удалось загрузить расширение C

Я пытаюсь установить плагин 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]

предложения?

57
Carlo

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

rake make

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

102
lucapette

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

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

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

  cd ~/.vim/Ruby/command-t
  Ruby extconf.rb
  make
30
peralmq

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

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

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

4
Mike

В Debian Squeeze мне также пришлось установить библиотеку json для Ruby с помощью apt-get install libjson-Ruby1.8

2
Mike K

Я получил похожую ошибку и попытался 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
Shrestha

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

1
Randy Morris

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

1
weexpectedTHIS

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

1
northcamel

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

ARCHFLAGS = -Wno-error = неиспользованный-аргумент командной строки-hard-error-in-future Ruby extconf.rb

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

0
Tim Nordloh