ReactJS | Настройка среды разработки

#javascript #node.js #reactjs #powershell #npm

#javascript #node.js #reactjs #powershell #npm

Вопрос:

Я сталкиваюсь с проблемой при запуске сервера…

 Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

Try the new cross-platform PowerShell https://aka.ms/pscore6

PS C:WINDOWSsystem32> cd C:UsersSmart-User^
PS C:UsersSmart-User^> cd C:UsersSmart-User^Desktop2q9reactreact-app
PS C:UsersSmart-User^Desktop2q9reactreact-app> npm start

> react-app@0.1.0 start C:UsersSmart-User^Desktop2q9reactreact-app
> react-scripts start

internal/modules/cjs/loader.js:969
  throw err;
  ^

Error: Cannot find module 'C:UsersSmart-UserDesktop2q9reactreact-appnode_modulesreact-scriptsbinreact-scripts.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:966:15)
    at Function.Module._load (internal/modules/cjs/loader.js:842:27)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
    at internal/main/run_main_module.js:17:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! react-app@0.1.0 start: `react-scripts start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the react-app@0.1.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:UsersSmart-User^AppDataRoamingnpm-cache_logs2020-11-15T15_33_30_740Z-debug.log

  

Обычно я не могу понять ошибки в powershell, но теперь я думаю, что из-за этого:

 Error: Cannot find module 'C:UsersSmart-UserDesktop2q9reactreact-appnode_modulesreact-scriptsbinreact-scripts.js'

  

^ знак в имени пользователя не указан в каталоге,
Я не знаю, почему я набрал это раньше, я был молод,
и теперь я перепробовал множество способов изменить имя пользователя, но ни один из них не сработал…
Должен ли я создавать новое и другое имя пользователя? Проблема здесь в том, что у меня много важных файлов, или, если есть другой способ, пожалуйста, помогите мне, или я не могу понять проблему, и она отличается от того, что я думаю, помогите мне еще раз, заранее спасибо

Ответ №1:

npm не может обрабатывать пути с некоторыми специальными символами, такими как ^, и просто проигнорирует их и попробует путь без него.

Обычно я бы сказал «переименуйте папку и не используйте специальные символы», но поскольку это переименование профиля пользователя, это немного запутанно. К счастью, есть простой обходной путь.

Создайте символическую ссылку, подобную этой (необходимо запускать в командной строке с повышенными правами):

 mklink /D "C:UsersSmart-User" "C:UsersSmart-User^"
  

Теперь C:UsersSmart-User перенаправляет на C:UsersSmart-User ^ и npm будет работать без проблем.

Комментарии:

1. должен ли я запустить его немедленно или что? Я пробовал это, но он говорит Access is denied

2. Как я уже сказал, вам нужно запустить его в командной строке с повышенными правами. Нажмите на меню «Пуск», введите «cmd» (без кавычек), затем щелкните правой кнопкой мыши на результате и выберите «Запуск от имени администратора». Выполните приведенную выше команду в этом окне. Это нужно сделать только один раз.

Ответ №2:

Сначала вы должны установить свои пакеты.

 npm install
npm start
  

Комментарии:

1. Здесь проблема не в этом, даже если все настроено правильно, npm завершится неудачей, если в пути есть ^ . Вы можете легко воссоздать проблему, выполнив рабочую настройку npm и просто переименовав один из каталогов выше и добавив ^, и вы получите ту же ошибку. Переименование его во все, что вы хотите, но без специальных символов, будет работать, например. ^ этого не произойдет. Кстати, это в Windows, не уверен, существует ли такая же проблема в Linux.

2. Ах, хорошо, да, поскольку я на Linux, я не смог правильно воссоздать проблему. Я читал MODULE_NOT_FOUND и по опыту в 99% случаев это отсутствующий пакет, node_modules который можно исправить с помощью npm install