#はじめに
あるreactのプロジェクトでローカルのサーバーを起動させようとすると、見慣れないエラーになりました。。。
$ npm start
[eslint] EACCES: permission denied, mkdir '/Users/xxxxx/node_modules/.cache'
ERROR in [eslint] EACCES: permission denied, mkdir '/Users/xxxxx/node_modules/.cache'
node_modules/.cacheディレクトリを作成するためのアクセス権が無いようです。
PCを乗り換えた後などにおそらく起こりやすい問題かと、、、。
権限を与えるコマンドを実行
Macで権限付与の時にはお馴染みのchownコマンドを使います。(change ownerの意味)
UNIX系のOSでは個々のファイルごとにオーナーが存在し、初期状態ではファイルを作成したユーザーがオーナーとなり、その他のユーザーはファイルを書き換えられないようにモードが設定されています。
chownはファイルのオーナーを変更するコマンドです。
sudo chown -R $USER:$GROUP /Users/xxxxx/node_modules
$USERと$GROUPを自分の環境に置き換えて、上記のコマンドを実行すれば解決します!
$USER:$GROUPの確認方法
$USER
echo $USER
シェル環境変数である$USERの値(つまりuserの名前)が表示
$GROUP
id -gn
これでグループ名も表示されます。
おそらくstaffかadminが表示されるかと。
グループに関することはなかなか意識することがないのですが、👇の記事が面白かったです
参考