Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

概要

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%はユーザーが変更できるため、なんらかの理由で変更した場合にはこの知識が役に立つかも。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away