ぜんぶWindowsのせいだ。
JR SKISKI
TL;DR
設定を読んだ際に出たエラーの最後に「^M」となっていればたぶん、改行コード。
Git for Windowsの設定で改行コードが自動で変換され、CR/LFになってしまう模様。
WSLではなく、GUIのGithub for Desktopを使ったせい。
やったこと
経緯
.vimrcや.bashrc(.zshrcとか.config.fishでもいいが)のようなdotfilesを、
複数環境で使うようにしたかった。
小生の環境
- 【会社】WSL(Ubuntu) Windows10
- 【自宅】macOS 10.14 Mojave
で、調べたら「設定ファイルをgitすればええやん!」
という記事にほだされ、やってみることに。
なんか、エラー頻発する
$HOMEにdotfilesリポジトリ置いて、
関係各所にlnでシンボリックリンク張っただけなので、
詳細(上記の記事)については省略。
しかし、自宅のmacから設定を持っていき、vim(neovim)を使おうとすると
(省略)~/dotfiles/vim/.config/nvim/init.vim の処理中にエラーが検出されました:
行 2:
E15: 無効な式です: &compatible^M
ということで、dein.vimの設定から既に最後になんかついてる。
この^M
が何かを調べると、どうやら改行コード(しかもCR)っぽい。
改行コード...?最近のmacってlinuxと同じLFじゃないっけ...?(あってた)
原因
と思ったら、どうやらGithub Desktop for Windowsを使っていたことが敗因だった模様。
Gitの設定で「自動で改行コードがCR/LFになる」という仕様になっていたらしい。
前のこのPCの使用者は、この設定で使ってたのか...
これインフラいじったとき問題おきなかったんだろうか。
当然こっちはGit for Windowsを使用しているので、
Windows側でGitの設定が必要になる。
WSLのコンソールではなく、PowerShellで以下の設定を行う。
PS> git config --global core.autocrlf input
これでもう一度clone
すれば、
変換されずに済むかと思われる。
まとめ
ぜんぶWindowsのせいだ。
JR SKISKI
いや、設定しなかった私も悪い(小声)
参考