TL; TR
Запуск:
sudo chown -R $USER:$USER '/home/REPLACE_WITH_YOUR_USERNAME/.npm/'
В ОС Linux NPM
и NodeJS
установлены глобально с sudo
и владельцемэто файлы root , и обычно пользователь может только читать / выполнять эти пакеты.Когда NPM
остановлен, папка root создает папку ~ / .npm / .Запустив create-react-app
, вы выполняете команду как пользователь , а create-react-app
пытается что-то изменить в каталоге ~ / .npm / , который принадлежит корню и не для текущего пользователя.Вам нужно сменить владельца этого каталога, чтобы вы могли изменять его без прав sudo
.
Часто подобное происходит при установке пакета NPM
с sudo
, например, sudo npm install <package> --save
.Снова вновь установленный пакет принадлежит root , и, например, когда вы пытаетесь обновить / изменить / удалить ваш проект без sudo
infrnt NPM
, у вас будет аналогичная ошибка разрешения.В этих случаях перейдите в каталог вашего проекта и измените его владельца, запустив:
sudo chown -R $USER:$USER .