技術ブログっぽいなにか

Ruby・Railsメインでいろんなこと書きます

Macのアカウント名とホームディレクトリ名変えたらいろいろ大変だった

もう3年くらい使っているMacbookのユーザー名(とホームディレクトリの名前)が本名のままで、
なんとなく嫌だし変えたいな〜と思ったので、公式を参考に変えてみた

support.apple.com

そしたらいろいろと大変だった。

大変なことその1:そもそもうまく変更ができない

公式を見ながらやっていたのに、変更できているのではなく新しいユーザーができてしまっていてめちゃくちゃ焦った。

ので、他の人のブログを参考にやってみたらできた。
参考にしたのはこちら↓

ringo-master.com

違いとしては、こちらの方のブログでは、公式で紹介されている作業にプラスして
FinderでUserフォルダの名前を直接変更している点。

私も直接いじったら無事に変更できました。
OSが古いのがいけないのかな?でもSierraなんですけどね。

大変なことその2:シェルのカスタマイズがもとに戻ってしまった

私はzshを使っていて、かつPreztoっていうライブラリを使ってカスタマイズしているんですが
これのシンボリックリンクが古いユーザー名のパスのままで、設定ファイルが反映されていなかったというのが原因。

$ ls -al

すると

lrwxr-xr-x     1 user-name  staff      45  7 22 15:04 .zlogin -> /Users/user-name/.zprezto/runcoms/zlogin
lrwxr-xr-x     1 user-name  staff      46  7 22 15:04 .zlogout -> /Users/user-name/.zprezto/runcoms/zlogout
drwxr-xr-x    10 user-name  staff     340  2 13  2017 .zprezto
lrwxr-xr-x     1 user-name  staff      48  7 22 15:04 .zpreztorc -> /Users/user-name/.zprezto/runcoms/zpreztorc
lrwxr-xr-x     1 user-name  staff      47  7 22 15:04 .zprofile -> /Users/user-name/.zprezto/runcoms/zprofile
lrwxr-xr-x     1 user-name  staff      45  7 22 15:04 .zshenv -> /Users/user-name/.zprezto/runcoms/zshenv
lrwxr-xr-x     1 user-name  staff      44  7 22 15:04 .zshrc -> /Users/user-name/.zprezto/runcoms/zshrc

こんな感じで、シンボリックリンクが張られているのがわかる。
なので、新しく張り直す。

$ ls -nfs /Users/new-user-name/.zprezto/runcoms/zpreztorc .zpreztorc

みたいな感じで、ひとつずつ変えていけばOK。

大変なことその3:ライブラリなどの参照先パスが古いままなので動かない

変更後、rails s しようとしたらそんなコマンドねえぞって怒られていて、よく見たら古いユーザー名でのパスがエラー文に表示されていた。

これ多分もうrbenvに限った話ではなくて、今ここだけ直してもこの先エラーのたびに修正し直すのを何回もやらないといけないんだなと思って絶望しました。。

古いユーザー名でgrepしたらめちゃくちゃたくさん出てきたし、もうもとに戻そうって決めた…

ちなみに一括で置換する方法もあるみたいだけど、失敗すると多分死にたくなると思います。

teratail.com

まとめ

という感じで、ホームディレクトリやユーザー名は軽率に変更しないほうがよいということを学びました。
特に開発者とか、外部からライブラリなんかを持ってきて使う人はやめたほうがいいですね。 そういうの全部$HOMEとかシェル変数でできればいいんだけどなあ。

参考

qiita.com