%AppProfile%変更後にnpmに失敗した時のメモ


概要

Windows Updateで何故か%AppProfile%がC:\Users\XXXからC:\Users\XXX.000に変わってしまい、その後npmでエラーが発生するようになった場合の解決方法の備忘録。

起きたこと

Windows Updateをしたら、%UserProfile%がC:\Users\XXXではなくC:\Users\XXX.000になっており、中身はすべて移動されていました。
使用上問題が無かったので使い続けていたところ、npmを使おうとした時に問題が発生。

npm init

とやったら、

Error: EPERM: operation not permitted, mkdir 'C:\Users\XXX\AppData\Roaming'

と出てきました。
C:\Users\XXXって古いUserProfileなので当然AppDataなんて残っていないわけで……。

解決方法

%AppData%\npm\node_modules\npm\npmrcを開き、

prefix=C:\Users\XXX\AppData\Roaming\npm

とあるのを

prefix=C:\Users\XXX.000\AppData\Roaming\npm

に変更することで、解決。
最初はXXXXXX.000に変更していましたが、環境変数を利用できるようです。 残念ながら、環境変数は使えません。

まぁ、Windows Updateがこんなことしなければほとんど要らない知識ですが……。
一応、%UserProfile%はユーザーが変更できるため、なんらかの理由で変更した場合にはこの知識が役に立つかも。