#はじめに
ある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
が表示されるかと。
グループに関することはなかなか意識することがないのですが、👇の記事が面白かったです
参考