背景と問題
Reactの新しいプロジェクトを作り、npm start
で実行したら以下のエラーメッセージが表示された。
bash
[eslint] EACCES: permission denied, mkdir '/Users/username/Documents/dev/react-teset-app/node_modules/.cache'
原因
上記のエラーメッセージはディレクトリの作成権限がないため発生している。
(nodeの再インストールも試してみたがエラーはそのままだった。)
解決
ターミナルで以下のコマンドを実行することで解決できた。
下記のコマンドはプロジェクトディレクトリに適切な権限を設定している。
ディレクトリのパスは各自で適切に変更して実行してください。
bash
sudo chown -R $USER:$GROUP /Users/username/Documents/dev/react-teset-app
コマンドの解説
sudo
: スーパーユーザー(管理者)権限でコマンドを実行する。
chown
: "change owner" の略で、ファイルやディレクトリの所有者とグループを変更する。
-R
: "recursive" の略で、指定されたディレクトリのすべてのサブディレクトリとファイルに対して変更を適用する。
$USER:$GROUP
: $USER
と$GROUP
は環境変数。通常、$USER
は現在ログインしているユーザーの名前を、$GROUP
はユーザーが属するデフォルトのグループ名を表す。
この部分は、実行時に環境変数に設定された値に置き換る。