sh: react-scripts: команда не найдена после запуска npm start


136

Я клонировал приложение реакции в свою систему и выполнил следующие команды

npm install -g create-react-app
npm install --save react react-dom

После этого я побежал

npm start 

Но он выдал вышеупомянутую ошибку. Он отлично работает в другой моей системе, из которой я нажал на github. Но после клонирования он не работает ни в одной другой системе, будь то Windows или Mac.


Вы создали свое приложение с помощью create-react-app appи вставили в него cd appперед запуском npm start?

он создал его с помощью приложения
create-response

4
Попробовать npm installперед бегом npm start?

Ответы:


226

Проверьте, node_modulesсуществует ли каталог. После свежего клона, скорее всего, не будет node_modules(поскольку это .gitignore'd).

Решение

запустить, npm installчтобы убедиться, что все депы загружены.

Альтернативное решение

Если node_modulesсуществует, удалите его с помощью, rm -rf node_modulesа затем запустите npm install.


9
Это решение сработало для меня. Но мне тоже пришлось удалить package-lock.json.
Victor Augusto

6
Я также хочу упомянуть, что это происходит, если проект инициализируется с помощью Yarn, но затем вы пытаетесь запуститьnpm install . Это не сработает: они несовместимы друг с другом. Запуск npm installна вершине дерева, произведенного пряжей, приведет к его повреждению. Я подал здесь проблему, но на данный момент решение (если вы используете Yarn) всегда использовать yarn addдля добавления пакета, а также для удаления node_modulesи повторного запуска, yarnесли вы его испортили.
Дэн Абрамов

да, это сработало. Но это похоже на общую проблему среди пользователей. Я хотел бы знать, что именно вызывает проблему здесь.
Арун Рамачандран

@ArunRamachandran, причина проблемы в первом и втором предложениях:After a fresh clone, there will very likely be no node_modules (since these are .gitignore'd).
DeBraid

1
@ArunRamachandran package.jsonфайл не должен перезаписываться при добавлении новых зависимостей с npm install newDep. Возможно, ваш проект пользуется yarn? См stackoverflow.com/a/49575980/2700718
DeBraid

22

У меня была аналогичная проблема. В моем случае это помогло установить Yarn и сначала выполнить команду

yarn

а затем выполните команду

yarn start

Это может сработать и для вас, если в клонированном вами проекте есть файл yarn.lock. Надеюсь, поможет!


1
Кто-нибудь знает, ПОЧЕМУ использование yarnисправляет npmпроблему?
DJ2

20

Пробовал все вышеперечисленное, и ничего не получилось, поэтому я использовал, npm i react-scriptsи это сработало


Это устранило мою проблему. Мне пришлось запустить:
yarn add response

8

https://github.com/facebookincubator/create-react-app

npm install -g create-react-app

create-react-app my-app
cd my-app/
npm start

Вы устанавливаете пакет create-react-app глобально. После этого вы запускаете его и создаете проект с именем my-app. Войдите в папку своего проекта и запустите npm start. Если это не сработает, попробуйте бежать, npm installа затем npm start. Если и это не сработает, попробуйте обновить версию вашего узла и / или npm.


5

вам не следует устанавливать реагирующие скрипты глобально, для меня это решило проблему:

npm install --save react react-dom react-scripts

если это все еще не работает:

1 - update to latest npm version : npm install -g npm@latest
2 - delete node_modules directory
3 - reinstall all dependencies : npm install

Мне не повезло, я даже попытался удалить package-lock.json
kritiz

5

Эта ошибка возникает, когда вы устанавливаете пакет с помощью npm installвместо yarn installили наоборот.


4

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

например ~/projects/tutorial/ReactJS/JavaScript Framework: ReactJS/app-name , не будет работать, потому что JavaScript Framework: ReactJSсодержит пробелы.
В общем, использование пробелов в именах папок / файлов, вероятно, не лучшая практика, но я надеюсь, что это сэкономит кому-то как минимум 4 часа проб и ошибок.

Также следует избегать любых не буквенно-цифровых символов .


вау, я пробовал все, что было сказано выше, но ничего не получилось, я не использовал пробел, но имел '&' в родительской папке, содержащей приложение для реагирования (даже не в имени приложения). Это сложная вещь, такие мелочи могут вызвать столько проблем
kritiz

У меня была та же проблема, потому что «&» на моем пути. Я потерял последние 50 минут, пытаясь решить проблему: /
Вандерли Майя



2

В package.json я изменил

"start": react-scripts start"

в

"start": "NODE_ENV=production node_modules/react-scripts/bin/react-scripts.js start"

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


1

Просто столкнулся с этой проблемой после установки material-ui.

Решил, просто запустив npm installснова.


1

Удаление package-lock.json и node_modules, а затем установка npm сработала для меня.


1

Если ни один из других ответов не работает должным образом (после обновления npm и т. Д.). Настоятельно рекомендую установить проект на рабочий стол.

create-react-app имя_проекта


0

Я просто случайно столкнулся с этой ошибкой «сценарии реакции: команда не найдена» после выдачи react-scripts buildзапроса, который раньше работал нормально.

Простая перезагрузка моей системы устранила проблему.


0

Это время от времени сбивает меня с толку, когда я начинаю заново с create- react -app, пожалуйста, убедитесь, что ваша переменная NODE_ENV установлена ​​на development , а не на production, поскольку devDependencies в вашем package.json не будет установлен npm install.


0

если кто-то хочет использовать только npm, запустите это npm i react-native-scripts --save, затем npm start или любую другую команду, которую вы используете


0

решение 1:

удалите файл package-lock.json, а затем введите -> npm install

решение 2:

/Users/piyushbajpai/.npm/_logs/2019-03-11T11_53_27_970Z-debug.log

как это мой путь отладки -> так что вы найдете его в консоли -> нажмите команду и щелкните ссылку, вы найдете строку ошибки; как это:

подробный стек Ошибка: nest_form@0.1.0 start: react-scripts start

решение 3:

удалите node_module и npm i новым способом.

решение 4:

перейдите в node_module и удалите папку jses и удалите ее, затем выполните npm i и снова начните с npm start


0

У меня были проблемы с последней версией пряжи 1.15.1-1

Я исправил это, вернувшись к более ранней версии sudo apt-get install yarn=1.12.3-1


0

Решение, которое сработало для меня, приведено ниже. Попробуйте создать приложение React с помощью этой команды.

create-react-app react-app --scripts-version 1.1.5

0

Я столкнулся с этой ошибкой после переименования каталога с @/символом в macOS, чтобы он соответствовал имени моего пространства имен пакета NPM.

Когда команда NPM искала установленные пакеты в моем локальном хранилище node_modules, она не могла их найти из-за того, как macOS переписывал путь к каталогу. После переименования каталога @/я снова заработал.


0

Если у вас возникла эта проблема в контейнере Docker, просто убедитесь, что node_modules не добавлены в файл .dockerignore.

У меня была такая же проблема sh1: сценарии реакции не найдены. Для меня это было решением


0

Просто вам нужно восстановить пакеты, чтобы решить эту проблему, поэтому просто запустите команду:

установка npm или установка пряжи


0

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

если вы используете пряжу:

  1. Удалить yarn.lock
  2. бегать yarn
  3. а потом yarn start

если вы используете npm:

  1. Удалить package-lock.json
  2. бегать npm install
  3. а потом npm start

0

Если у кого-то все еще есть эта проблема после использования этих решений: проверьте путь к вашему проекту, поскольку у узла есть некоторые проблемы с работой с разделенными именами каталогов. Я изменил имена всех каталогов, в именах которых были пробелы, и это сработало отлично.

идея решения взята из: https://npm.community/t/react-scripts-not-found/8574

я использую пряжу BTW


0

Вы не должны использовать ни ПРОБЕЛЫ, ни какие-либо специальные символы в своем пути, например, используя "&". В моем случае я использовал этот путь: "D: \ P&D \ mern", и из-за этого "&" я потерял 50 минут, пытаясь решить проблему! : /

Живя и учась!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.