web-dev-qa-db-fra.com

Erreur du plug-in Vim Command-T: impossible de charger l'extension C

J'essaye d'installer le plugin Command-T.

J'ai compilé vim en suivant les instructions de ce commentaire: Installation de vim avec le support Ruby (+ Ruby)

Alors maintenant, il y a le drapeau + Ruby, mais quand j'essaie d'utiliser le plugin, j'obtiens cette erreur:

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

J'ai Ruby sur mon système:

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

suggestions?

57
Carlo

Allez dans le répertoire plugin et lancez la commande suivante:

rake make

Il compile l'extension du plugin dont vous avez besoin.

102
lucapette

J'ai rencontré la même erreur, mais après avoir lu le manuel un peu plus en profondeur, j'ai trouvé ce qui suit utile.

Marqué avec la section INSTALLATION dans https://github.com/wincent/Command-T

L’extension C doit alors être construite, ce qui peut être fait à partir du shell. Si vous utilisez un | 'runtimepath' | alors les fichiers ont été installés dans ~/.vim et vous pouvez construire l'extension avec:

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

Vous devez effectuer la construction en utilisant la même version de Ruby à laquelle Vim est lié.

Utilisez-vous RVM ou Rbenv? Personnellement, j'utilisais rbenv et MacVim. J'ai eu cette erreur parce que j'essayais d'utiliser Ruby 1.8.7 patch 352 . Je suis revenu à la version 1.8.7 patch 249 en utilisant rbenv Shell systemavant sous Ruby extconf.rb et make, puis tout a bien fonctionné.

Ensuite, vous pouvez restaurer votre Shell en utilisant rbenv Shell --unset.

4
Mike

Sur Debian Squeeze, j’ai également dû installer la bibliothèque json pour Ruby avec apt-get install libjson-Ruby1.8

2
Mike K

J'ai eu une erreur similaire et essayé rake make comme suggéré dans l'une des réponses, qui fonctionne aussi Ruby extconf.rb, j'ai l'erreur suivante

─$ 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)

Vous devez installer Ruby-devel ou Ruby-dev selon que vous ayez yum ou apt sur votre distribution.

yum install Ruby-devel

ou

$ apt install Ruby-dev
1
Shrestha

Command-T nécessite un composant compilé. Le message d'erreur indique que vous n'avez pas suivi complètement les instructions d'installation du plug-in. 

1
Randy Morris

Consultez les instructions d'installation sur: https://github.com/wincent/Command-T Recherchez sur cette page l'en-tête "INSTALLATION". Vous n'avez probablement pas suivi les instructions de ce README officiel. Si vous utilisez RVM, veillez à utiliser le système Ruby. Tout cela est noté dans la documentation.

1
weexpectedTHIS

Si vous êtes sûr de suivre les instructions sur le projet github , vous devrez peut-être redémarrer vim et le terminal. Je suis tombé sur le même problème et quand j'ai redémarré Vim, cela a finalement fonctionné!

1
northcamel

Finalement, après quelques essais et erreurs, j'ai trouvé cette commande dans la FAQ command-t, qui traite d'un problème lié à Mac OS. J'utilise "High Sierra 10.13.4":

ARCHFLAGS = -Wno-error = argument-en-ligne-de-commande-non-utilisable en cours Ruby extconf.rb

Cela semblait générer un Makefile qui a exécuté la compilation avec succès. J'ai cependant essayé beaucoup de choses et cette solution donne un peu l'impression d'être cultivée.

0
Tim Nordloh