web-dev-qa-db-ja.com

Vim Command-Tプラグインエラー:C拡張機能を読み込めませんでした

Command-Tプラグインをインストールしようとしています。

このコメントの指示に従ってvimをコンパイルしました: Ruby support(+ Ruby))でvimをインストール

+ 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]

提案?

58
Carlo

プラグインdirに移動して、次のコマンドを実行します。

rake make

必要なプラグイン拡張をコンパイルします。

105
lucapette

私は同じエラーに出くわしましたが、マニュアルをもう少し徹底的に読んだ後、私は次のものが役に立ちました。

https://github.com/wincent/Command-T のINSTALLATIONセクションからタグ付け

次に、C拡張機能をビルドする必要があります。これはシェルから実行できます。典型的な| 'runtimepath' |を使用する場合次に、ファイルは〜/ .vim内にインストールされ、次のようにして拡張機能をビルドできます。

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

Vim自体がリンクされているのと同じバージョンのRubyを使用してビルドを実行する必要があります。

RVMまたはrbenvを使用していますか?個人的には、rbenvとMacVimを使っていました。 Ruby 1.8.7 patch 52を使用しようとしたため、このエラーが発生しました。rbenv Shell systemを使用して1.8.7パッチ249に戻しましたbeforeRuby extconf.rbおよびmakeを実行する前に、すべてが正常に機能しました。

その後、rbenv Shell --unsetを使用してシェルを元に戻すことができます。

4
Mike

Debian squeezeでは、Ruby with apt-get install libjson-Ruby1.8

2
Mike K

同様のエラーが発生し、rake make実行される回答の1つで提案されているように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 そのページでヘッダー「INSTALLATION」を検索します。この公式READMEの指示に従っていない可能性があります。 RVMを使用している場合は、システムRubyを使用してください。これはすべてドキュメントに記載されています。

1
weexpectedTHIS

githubプロジェクト の指示に従っている場合は、vimとターミナルを再起動する必要があるかもしれません。同じ問題に遭遇し、Vimを再起動すると、ようやく動作しました!

1
northcamel

結局、試行錯誤の末、このコマンドはMac OSの問題を扱っているcommand-t FAQで見つかりました。 「High Sierra 10.13.4」を実行しています:

ARCHFLAGS = -Wno-error = unused-command-line-argument-hard-error-in-future Ruby extconf.rb

これにより、コンパイルを正常に実行するMakefileが生成されたようです。しかし、私は多くのものを試しました、そしてこの解決策は少し貨物のカルティを感じます。

0
Tim Nordloh