YouCompleteMeの導入に躓いた
YouCompleteMeはvimで文字列補完を行うプラグインである。通常のテキスト入力とテキスト補完を非常にスムーズに連結してくれる素晴らしいプラグインだ。普段はメイン機でお世話になっているのだが、サブWindows機上のWSLでこのプラグインを使おうとしたところ不具合に遭遇したのでメモしておく。不具合の内容はinstall.pyがうまく動かず、インストールができなかったり、アップデートしてもYCMサーバーがシャットダウンされた、という警告が消えず使えないというもの。
通常のインストール
ひとまずは、通常の方法でインストールする。Vimプラグインの導入は
vim-plugを使うと非常に楽なので、vim-plugを使うことにする。導入したら、
call plug#begin()
Plug 'ycm-core/YouCompleteMe', {'do': './install.py'}
call plug#end()
以上のような内容を.vimrcに追記しておく。そしたらvimを立ち上げて
:PlugInstall
を実行する。すると、.vim内のプラグイン用のディレクトリにYouCompleteMeのディレクトリが作成されて本体がダウンロードされているのでそこに移動する。
YouCompleteMeディレクトリの中を参照すると、install.pyというファイルがあるので、pythonで実行する。最新版はpython3で実行する必要があるので、必ずpython3で実行すること。
$python3 install.py --all
ここまでできたら、再度vimを立ち上げて、
:PlugUpdate
を実行。以上でYouCompleteMeを使えるようになった。
今回YouCompleteMeの導入に際して色々躓いたので内容ごとに解決策を記録。
・Pythonのヘッダーが見つからない問題
ー>python3-devをインストールする。
$sudo apt install python3-dev
バージョンまではっきりわかっているときは
$sudo apt install python3.x-dev (xはバージョンの番号を見て記載)
・cmakeとかが足りない問題
ー>どうやらcmakeとllvmは必要らしいのでインストールしておくこと
$sudo apt install cmake llvm
・なんかコンパイラが足りないとか言ってる問題
ー>c++コンパイラが必要なようです。g++をダウンロードしよう
$sudo apt install g++
以上を解決して再び、$python3 install.py --all を実行すると自分の場合は解決した。ネット上を調べると他にも、コンパイラが入っているにもかかわらず、パッケージ管理がうまく行っていなくて認識されていないとか、いろいろあるようだ。導入にこそ躓いたが、YCMが素晴らしいテキスト補完ツールであることは揺らがない。おすすめ。
追記:YouCompleteMeでの必要物を列挙しておく。足りない場合はインストールしておくと良い。
build-essential , cmake , vim-nox , python3-dev , mono-complete , golang , nodejs , default-jdk , npm