Почему я получил ошибку при создании приложения React?

Я новичок и хочу изучить ReactJS, и я начинаю устанавливать новую пустую папку с помощью команды npx create-react-app .. У меня нпм v.6.4.1. и когда я пытаюсь выполнить команду, она выдает мне ошибку.

Error: EPERM: operation not permitted, mkdir 'C:\Users\LOGIVAR'
TypeError: Cannot read property 'get' of undefined
    at errorHandler (C:\Program Files\nodejs\node_modules\npm\lib\utils\error-handler.js:205:18)
    at C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js:78:20
    at cb (C:\Program Files\nodejs\node_modules\npm\lib\npm.js:228:22)
    at C:\Program Files\nodejs\node_modules\npm\lib\npm.js:266:24
    at C:\Program Files\nodejs\node_modules\npm\lib\config\core.js:83:7
    at Array.forEach (<anonymous>)
    at C:\Program Files\nodejs\node_modules\npm\lib\config\core.js:82:13
    at f (C:\Program Files\nodejs\node_modules\npm\node_modules\once\once.js:25:25)
    at afterExtras (C:\Program Files\nodejs\node_modules\npm\lib\config\core.js:173:20)
    at C:\Program Files\nodejs\node_modules\npm\node_modules\mkdirp\index.js:47:53
C:\Program Files\nodejs\node_modules\npm\lib\utils\error-handler.js:205
  if (npm.config.get('json')) {
                 ^

TypeError: Cannot read property 'get' of undefined
    at process.errorHandler (C:\Program Files\nodejs\node_modules\npm\lib\utils\error-handler.js:205:18)
    at process.emit (events.js:182:13)
    at process._fatalException (internal/bootstrap/node.js:485:27)
Install for create-react-app@latest failed with code 7

Я уже выполняю ту же команду в пустом проекте Laravel, но все равно выдает ту же ошибку.

Можете ли вы сказать мне, что является основной причиной проблемы и как это исправить?

Обновлено: Я уже запускаю терминал от имени администратора, но получаю другую ошибку:

npm ERR! code ENOLOCAL
npm ERR! Could not install from "2\AppData\Roaming\npm-cache\_npx\10552" as it does not contain a package.json file.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\LOGIVAR TY 2\AppData\Roaming\npm-cache\_logs\2019-01-23T04_18_56_036Z-debug.log
Install for create-react-app@latest failed with code 1
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
14
0
19 893
11
Перейти к ответу Данный вопрос помечен как решенный

Ответы 11

Ответ принят как подходящий

Вы пробовали запустить это от имени администратора?

Я запускаю его на терминале PhpStorm. Я не уверен, что он запущен от имени администратора.

Ryuujo 23.01.2019 05:14

Попробуйте запустить его от имени администратора, так как ваша операция не разрешена.

Bon Andre Opina 23.01.2019 05:15

Оно работает. Но это дало мне другую ошибку. Я отредактирую его по моему вопросу

Ryuujo 23.01.2019 05:19

Хорошо, хорошо, я должен был это прокомментировать

Bon Andre Opina 23.01.2019 05:20

Попробуйте эту команду: npm install -g create-react-app, я ссылался на нее из этой: github.com/facebook/create-react-app/issues/4058

Bon Andre Opina 23.01.2019 05:24

Спасибо, он должен установиться и работать прямо сейчас

Ryuujo 23.01.2019 05:32

Да, если он проголосует за это, чтобы другие, имеющие ту же проблему, знали, как решить эту проблему.

Bon Andre Opina 23.01.2019 05:33

Обратите внимание, что большую часть времени вы не хотите запускать всевозможные приложения от имени администратора.

3limin4t0r 16.04.2020 16:43

добавьте имя проекта, подобное этому, в вашу команду:

 npx create-react-app your-project-name

Это проблема с npx. В имени вашего компьютера есть пробел. Я бы рекомендовал npm install -g create-react-app, чтобы обойти проблему с npx.

В моем случае фактическая проблема была связана с наличием пробела в моей папке с именем пользователя Windows. Что также имеет место здесь, если посмотреть на первую строку трассировки стека,

Error: EPERM: operation not permitted, mkdir 'C:\Users\LOGIVAR'

Поскольку нет каталога с именем LOGIVAR, он пытается запустить mkdir, для которого его операция получения не разрешена.

Вот как я это исправил благодаря citoreek, g8up и gijswijs

запустите npm config edit, чтобы отредактировать вашу конфигурацию, это откроет текстовый файл в блокноте или настроенном вами редакторе,

затем измените cache path с

; cache=C:\Users\Gijs van Dam\AppData\Roaming\npm-cache

к

cache=C:\Users\GIJSVA~1\AppData\Roaming\npm-cache

Не забудьте удалить ; в начале, следующий вопрос: откуда мы знаем, что нужно заменить наше имя пользователя на GIJSVA~1?

Есть несколько способов нацелиться на это,

  1. Перейдите в C:\Users, откройте Power Shell и выполните следующую команду.

cmd /c dir /x

что это делает, перечисляет все каталоги в текущем каталоге вместе с их короткими именами, которые не должны содержать пробелов и обычно имеют длину 6 символов или меньше. Скопируйте это короткое имя в свой каталог имен пользователей и используйте его в своем пути к кешу.

Вы заметите, что эти короткие имена существуют только для каталогов, содержащих пробелы или длиннее 6 символов, для остальных каталогов их короткие имена будут такими же, как их имя каталога,

  1. Если вы не хотите использовать указанную выше команду, просто удалите все пробелы из имени пользователя в пути к кешу, затем возьмите первые 6 символов имени пользовательского каталога и добавьте к нему постфикс ~1. Вы также должны использовать заглавные буквы, но, похоже, это не имеет никакого значения.

После того, как вы закончите редактирование этого файла, сохраните свои изменения, а затем повторите попытку после закрытия любого активного процесса power shell / bash и повторного открытия их.

Простое обновление cache в конфигурации npm, как упоминалось выше, исправило это для меня. F windows еще раз, никогда не было таких проблем на Mac.

Martijn 14.01.2020 19:17

у них действительно должна быть такая информация на начальной странице создания-реакции-приложения.

djolf 08.02.2021 05:09

В моем случае мне нужно было изменить все, что упоминает мое полное имя, с пробелом.

Memphis Meng 14.02.2021 05:38

Это была именно проблема. Никогда бы не подумал об этом. Большое спасибо.

Raj Rajeshwar Singh Rathore 28.06.2021 05:56

Сначала установите приложение create-реагировать

npm  install create-react-app

тогда

npx create-react-app app-name

нет, нет необходимости устанавливать приложение create-react-app, если вы используете npx create-react-app

Rai Talha Rehman Khan 10.03.2020 12:11

Вышеупомянутая проблема связана с пробелами, содержащимися в имени папки. Лучший способ - внести изменения в файл конфигурации.

Введите npm config edit, чтобы войти в ваш файл конфигурации.

Затем измените

; cache=C:\Users\Sinojia Zeel\AppData\Roaming\npm-cache

к

cache=C:\Users\SINOJI~1\AppData\Roaming\npm-cache

Не забудьте убрать точку с запятой спереди

SINOJI~1 можно заменить именем вашей папки, которое содержит пробелы. Просто возьмите первые 6 букв имени вашего файла и добавьте к суффиксу ~1 (использование заглавных букв в имени файла необязательно, но часто это делается)

Сохраните файл, выйдите и повторно запустите команду npx create-react-app ..

  1. Первая глобальная установка

    npm install -g create-react-app
    
  2. Создайте новое приложение

    npx create-react-app your-app-name
    

    это сработало для меня

будет ли этот метод использовать последнюю версию или версию, установленную глобально?

sachuverma 11.01.2021 16:30

@sachuverma этот метод устанавливает последнюю версию глобально

Parth Navadiya 11.02.2021 10:35

Я столкнулся с аналогичной проблемой при создании приложения React от Linkedin, узнав, что у него есть команда - npx create-react-app my-website --use-npm для создания нового приложения React, но не упомянул, требуются ли для этого какие-либо предварительные условия.

Итак, чтобы запустить приведенную выше команду, сначала установите приложение create-react-app с npm install -g create-react-app

Я также получал ту же ошибку:

Error: EPERM: operation not permitted, mkdir 'C:\Users\Username'
command not found: create-react-app

Тогда у меня сработала следующая команда:

  1. npm install -g create-react-app
  2. npx create-react-app project-name

Следующая команда работала для меня:

  1. npm install -g создать-реагировать-приложение
  2. npx имя проекта create-реагировать на приложение

Если вы все еще сталкиваетесь с этой проблемой, после всего вышеперечисленного -

У меня была такая же проблема с пробелом в моем имени, я пробовал:

  1. очистить кеш npm -f
  2. проверка кэша npm
  3. обновил путь к кешу с помощью "~!"

И ничего из этого не сработало для меня, но потом я побежал:

  1. npm -g установить нпм
  2. npm init реагировать-приложение мое-приложение

... и это наконец сработало. Надеюсь, это поможет кому-то там

Другие вопросы по теме