NeoCompleteを使いたかったのでlua付きの最新vimをインストールするのに色々ハマった。
察しのよい人はもうタイトルからお気づきかと思われますが、vimのインストールはできていたのにviコマンドで呼び出すように設定していなかったというオチです。
まあ他にもインストール時にpython周りでエラーになったのでまた同じことを繰り返さないためにもメモ。
前提として、NeoCompleteはインストール済み。
Homebrewを使って最新のlua付きvimをインストールする。
vim にオプション --with-lua を指定するとluaが有効になっている状態でインストールできるとのことだったので実行。
$ brew install vim --with-lua
==> Using the sandbox
==> Downloading https://github.com/vim/vim/archive/v8.0.0596.tar.gz
Already downloaded: /Users/user_name/Library/Caches/Homebrew/vim-8.0.0596.tar.gz
==> ./configure --prefix=/usr/local --mandir=/usr/local/Cellar/vim/8.0.0596/share/man --enable-multibyte --with-tlib=ncurses --enable-cscope --with-
==> make
Last 15 lines from /Users/user_name/Library/Logs/Homebrew/vim/02.make:
clang -c -I. -Iproto -DHAVE_CONFIG_H -DMACOS_X_UNIX -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -o objects/undo.o undo.c
ang -c -I. -Iproto -DHAVE_CONFIG_H -DMACOS_X_UNIX -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -o objects/userfunc.o userfunc.c
clang -c -I. -Iproto -DHAVE_CONFIG_H -DMACOS_X_UNIX -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -o objects/window.o window.c
clang -c -I. -I/usr/local/include -Iproto -DHAVE_CONFIG_H -DMACOS_X_UNIX -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -o objects/if_lua.o if_lua.c
clang -c -I. -g -DPERL_DARWIN -fno-strict-aliasing -fstack-protector -I/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE -Iproto -DHAVE_CONFIG_H -DMACOS_X_UNIX -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -o objects/if_perl.o auto/if_perl.c
clang -c -I. -g -DPERL_DARWIN -fno-strict-aliasing -fstack-protector -I/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE -Iproto -DHAVE_CONFIG_H -DMACOS_X_UNIX -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -o objects/if_perlsfio.o if_perlsfio.c
clang -c -I. -I/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/include/python2.7 -DPYTHON_HOME='"/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7"' -fPIE -Iproto -DHAVE_CONFIG_H -DMACOS_X_UNIX -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -o objects/if_python.o if_python.c
clang -c -I. -I/Users/user_name/.rbenv/versions/2.4.0/include/ruby-2.4.0 -I/Users/user_name/.rbenv/versions/2.4.0/include/ruby-2.4.0/x86_64-darwin16 -DRUBY_VERSION=24 -Iproto -DHAVE_CONFIG_H -DMACOS_X_UNIX -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -o objects/if_ruby.o if_ruby.c
if_python.c:67:10: fatal error: 'Python.h' file not found
#include
^
1 error generated.
make[1]: *** [objects/if_python.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [first] Error 2
READ THIS: http://docs.brew.sh/Troubleshooting.html
These open issues may also help:
vim package installation error - configure: error: cannot run C compiled programs. https://github.com/Homebrew/homebrew-core/issues/12323
コンパイルエラー・・・。
pythonは入っていたはず、と思い確認してみる。
$ python --version
Python 3.5.0
うむ、入ってますな。
と、エラーメッセージで指定しているpythonのバージョンが違うことに気がつく。
色々確認。
$ which python3
/Users/user_name/.pyenv/shims/python3
$ which python
/Users/user_name/.pyenv/shims/python
コンパイルで指定しているpathと異なる。。
$ pyenv versions
system
* 3.5.0 (set by /Users/user_name/.pyenv/version)
途中で、.bash_profileでpythonのhome_pathをしていたことを思い出す。
プロジェクトで使うのに書いた気がするのでアンインストールは怖い。
コンパイルには2.7系を使っているようなのでとりあえず切り替える。
$ pyenv global system
$ pyenv versions
* system (set by /Users/user_name/.pyenv/version)
3.5.0
$ pyenv rehash
$ python --version
Python 2.7.13
再度インストール。
$ brew install vim --with-lua
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> Updated Formulae
caddy
==> Using the sandbox
==> Downloading https://github.com/vim/vim/archive/v8.0.0596.tar.gz
Already downloaded: /Users/user_name/Library/Caches/Homebrew/vim-8.0.0596.tar.gz
==> ./configure --prefix=/usr/local --mandir=/usr/local/Cellar/vim/8.0.0596/share/man --enable-multibyte --with-tlib=ncurses --enable-cscope --with-
==> make
==> make install prefix=/usr/local/Cellar/vim/8.0.0596 STRIP=/usr/bin/true
できた!
$vi --version
vi上でコマンド打ってみる。
:NeoCompleteEnable
=> does not work with this version of vim
最新のvim入ったのになんで・・・?
使用しているvimがどこにあるのか確認してみる
$ which vim
=> /usr/local/bin/vim
$ which vi
=> /usr/bin/vi
あっ・・・(察し)
切り替える。
$ cd /usr/local/bin; ln -s vim vi
できた!
他のプラグインもなんか挙動がおかしいと思っていたら、ずっと vi と vim 気にせずに古いバージョン使ってたからか。。