gvm使ってるとzaw-cdrが動かない

zshをほぼデフォルトのまま使ってたので、先週ぐらいにoh-my-zshとzaw入れてみた。

そのときはいい感じに使えたのだけれど、別のPCにdotfilesを移してみたときのこと。
最近移動したディレクトリをインクリメンタルサーチするzaw-cdrが以下のエラーを出して正常に動作しない。

zaw-src-cdr:2: closing brace expected

シンタックスエラー的なメッセージなのだけれど、最初にインストールしたときは動いていたので、そのPC独自の環境が悪いんだろうと思って色々探した結果、原因が判明。

zshrcで読み込んでる各PC個別設定用zshrcのgvm関係のスクリプトを呼び出しているところをコメントアウトしたら、上手く動くようになった。

#THIS MUST BE AT THE END OF THE FILE FOR GVM TO WORK!!!
[[ -s "/Users/you/.gvm/bin/gvm-init.sh" ]] && source "/Users/you/.gvm/bin/gvm-init.sh"

・・・まぁ普通に最後に書いときゃなきゃいけないものなんだろうけど、gvm普段使わない&zaw入れるまでは何も影響が無かったので放置してた。

ちなみに、個別設定用zshrcから本物(?)のzshrcの最後の行に移しても同じエラーが出たので、gvmとzawの共存はダメなんですかね。
gvmのバージョン上げれば解決するかもしれないけど、そもそもgvm要らなかったので消してしまった。

実装の都合上、しょうがないのかもしれないけれど、最近はdotfilesはgitで管理することが普通なので、こういうライブラリもそれを踏まえて、
shellの最後の行に書け的な制約はやめてほしいなぁ、と。

あと、シェルスクリプトで詰まったときに原因探すのしんどい。
なんかいい方法ないのだろうか・・・

このエントリーをはてなブックマークに追加
comments powered by Disqus