概要
node.jsをインストーラーで入れ直して直後、npx create-react-app hoge
をした時に、
Error: EPERM: operation not permitted, mkdir 'C:\Users\〇〇 '
command not found: create-react-app
と出た時の対処法の覚書。
環境情報
Windows10
node.js v12.18.3
原因
create-react-appをすると、node.jsは自身のインストール場所に関わらず、デフォルトでC:ドライブのAppDataにcacheフォルダを作ろうとします。もしPCの名前に半角スペースが入っているとフォルダの作成に失敗するためエラーが生じます。
自分が行った対処法
npm config set cache <任意のpath> --global
としてcacheフォルダをパスに半角スペースを含まない場所に変えてやるといけました。
正直なところ --global
は必要なのかわかりませんが ノリで付けてやったらうまいこといけてしまったので、未検証 です。(あった方がいいのかなくても良いのか知っている人いれば教えてください)
ちなみに
この解決法を見つけたオリジナルのgithubのissue
では「半角スペース以下を~1
にすれば行ける!」みたいなことが書かれていますが自分はそれでは解決しませんでした。とりあえず、cacheの設定をnpm condig set cache
で変えれるんやなって気付きにはなりましたが。
npmの作るフォルダーに関しては以下にも載っていて、一応globalの説明もしてあります。知識がないのでよくわからないですが......↓
https://docs.npmjs.com/configuring-npm/folders.html