会社で使っているMacにRustを入れて勉強しようと思ったら、cargo newで詰まったので、その時のメモ。
ちなみに会社のMacに入れる前に、自宅で使っているMacにも同じことをしたのですが、エラーが出たのは会社のMacだけでした。
Rustのインストールはrustupを使ってインストールしました。本件には関係ないのでインストール方法は割愛します。
- 適当なディレクトリへ移動
$ cd /Users/your-username/example-dir
- cargo new コマンドを実行すると、下記の様なエラーが発生する
$ cargo new sample error: Failed to create package `sample` at `/Users/your-username/example-dir/sample` Caused by: could not find '$HOME/.git_template/' to stat: No such file or directory; class=Os (2); code=NotFound (-3)
これでなぜエラーになるのか、全然分かりませんでした。
自宅のMacではうまく行っていたので、rustup自体のバグというのは考えにくい。
とりあえずエラーが出ているgit init.templatedirをコメントアウトしてみることにしました。
$ vi ~/.gitconfig
[init]
# templatedir = $HOME/.git_template <- この行をコメントアウトした
この状態でcargo newしたら動いたー。
git_templateの設定周りの不備だということは分かったのですが、そこから先が長かったです・・・。
エラーメッセージをコピってググってもそれらしい記事が出てこず・・・。
ふと気づいたのが、そもそもgit_templateをはるか昔に設定してみたけど、一度も使っていない。
そして当時動作確認をしたかどうかすら記憶にない。
ということで、もう一回gitの設定を見直してみました。
ちょっとググると、$HOMEなんて設定している記事が一つも出てきませんでした。
早速 .gitconfig のファイルを編集してみた。
$ vi ~/.gitconfig
[init]
templatedir = ~/.git_template
そして、cargo newコマンドを実行したら
$ cargo new sample
Created binary (application) `sample` package
ちゃんと動きました!