'response-scripts' не розпізнається як внутрішня чи зовнішня команда


94

У мене є проект maven, в рамках якого є проект JavaScript, клонований як підмодуль git. Тож структура каталогів виглядає приблизно так

mavenapp/src/main/javascript/[npm project files]

всередині мого package.json тест виглядає так: "test": "react-scripts test --env=jsdom",

але коли я намагаюся запустити npm, тест говорить

'response-scripts' не розпізнається як внутрішня чи зовнішня команда,

Цікаво, що коли я клоную проект javascript самостійно, я не отримую цієї помилки. Я спробував повторно запустити npm install.

npm version : 5.5.1

node version : 9.3.0


в той час, як я з тих пір працював над цією проблемою, я розумію, що вона привернула трохи уваги, і як така може бути корисно позначити відповідь як правильну ... відкриту для пропозицій від спільноти щодо того, чия це буде .
Дж. Сміт

Відповіді:


79

Це помилка щодо того, що на момент встановлення у вашому каталозі модулів вузлів відсутній файл сценаріїв реакцій .

Переконайтеся, що ваша залежність від сценарію реагування доступна чи не доступна в package.json

Якщо немає, додайте вручну за допомогою:

npm встановити реакційні скрипти --save


11
НЕ робіть цього, це може спричинити проблеми з іншими проектами ... вам НЕ слід встановлювати реакційні скрипти глобально, як це. Посилання тут: github.com/facebook/create-react-app/issues/…
Росді Касім

5
@RosdiKasim Прочитавши ваш коментар, я зрозумів свою помилку. Тепер я змінив команду для конкретного проекту, а не глобально (-g).
Йогеш Борад

Для мене нічого не змінюється, все та ж помилка. Запуск "npm install response-scripts --save", навіть якщо успіх не створює жодної папки response-scripts у папці npm_modules. Я на Windows10
Giox

@RosdiKasim, виходячи з вашого коментаря, ви повинні стежити за кінцем ланцюжка на Github. Я працював з тією ж проблемою і виправив це, роблячи подібне stackoverflow.com/a/54403797/8719007 (відповідь нижче)
Серж Кішіко,

45

Ти намагався:

rm -rf node_modules && npm install

node_modulesСпочатку витираючи , як правило, виправляє багато дивних проблем, пов’язаних з пакетами, таких як Node.


2
так у мене ... немає різниці ... Наразі мені довелося просто видалити підмодуль і просто вставити його вручну.
J Smith

Хм, ви не бачите жодних помилок, зареєстрованих із вашого npm install? Спробуйте запустити npm install -fі перевірте, чи щось не зміниться. Це може бути інший пакет, який не вдається встановити та блокує create-react-appповну установку. Примусове встановлення npm за допомогою -f, до речі, ніколи не є повним рішенням .... просто крок з усунення несправностей. Якщо після запуску цього щось зміниться, ви знаєте, що з одним із пакетів щось не так.
Jonny Asmar

Крім того, ви можете перевірити, чи маєте ви файл на javascript/node_modules/.bin/react-scripts. Якщо ні, це може бути декількома різними причинами, які включають проблеми з дозволами, обмеження ОС на створення символічних посилань (все, що node_moduels/.binє символічним посиланням, що генерується під час встановлення. Також може бути так, що у вас не встановлені скрипти реакції ... спробуйте бігай npm install --save react-scriptsі подивись, чи це допомагає.
Джонні Асмар,

1
Перехід від MacOS до Windows (Dropbox синхронізував всю node_modulesпапку) - вирішено лише видалення папки та її повторну інсталяцію
ЯК

Так - ось що робить вищевказана команда. Ваш симптом, ймовірно, був пов’язаний із низкою пакетів, які виконують процедури умовної інсталяції для кожної ОС. У Linux, Mac та Windows є чимало розбіжностей із великою кількістю основних проектних залежностей.
Джонні Асмар,

31

Якщо react-scriptsприсутній уpackage.json

Якщо ви бачите щось подібне "react-scripts": "2.1.3"у своєму pakage.jsonфайлі, просто введіть цю команду

npm install

Якщо react-scriptsнемає вpackage.json

Якщо "react-scripts"у вашому package.jsonфайлі немає нічого подібного, можливо, ви його не встановили. Для цього введіть наступну команду, і все буде готово

npm install react-scripts --save


1
Що робити, якщо я маю його у своєму пакеті.json і також встановлюю, але стикаюся з тією ж проблемою?
Serob_b

@Serob_b Іноді у мене теж виникає така сама проблема, і в цьому випадку я просто запускаю "npm install", і це вирішує проблему. або ви завжди можете видалити папку node_modules, набравши в терміналі rm "-rf node_modules", а потім запустіть "npm install". сподіваюся, це допоможе
Хаді Мір

9

У моїй ситуації сталися деякі проблеми з моїм пакетом вузлів. Тож я бігаю, npm audit fixі це вирішує всі проблеми



3

Я виправляю цю проблему :-), просто видаліть node.js і покажіть приховані файли

потім перейдіть до "C: \ Users \ yourpcname \ AppData \ Roaming \

потім видаліть папки "npm" та "npm-cache"

та встановіть нову версію node.js.


2
Насправді це не рішення.
Фані Рітвій

Цей працював у мене.
UA

2

response-scripts не розпізнається як внутрішня або зовнішня команда пов'язана з npm.

Я б оновив усі свої залежності у файлах package.json до найновіших версій як у головному каталозі, так і в клієнтському каталозі, якщо це застосовно. Ви можете зробити це, використовуючи зірочку "*", замість того, щоб вказати конкретний номер версії у файлах package.json для ваших залежностей.

Наприклад:

"dependencies": {
    "body-parser": "*",
    "express": "*",
    "mongoose": "*",
    "react": "*",
    "react-dom": "*",
    "react-final-form": "*",
    "react-final-form-listeners": "*",
    "react-mapbox-gl": "*",
    "react-redux": "*",
    "react-responsive-modal": "*",
  }

Потім я б переконався, що будь-який пакет-lock.json був видалений, а потім запустив npm install та yarn install як в головному каталозі, так і в клієнтському каталозі, якщо це застосовно.

Потім ви зможете запустити збірку пряжі, а потім використати функцію запуску нитки для запуску програми.


Це погана порада. Використовувати *номери версій проблематично, оскільки це може спричинити встановлення різних версій пакетів у різних системах. Використовуйте заблоковані номери версій та оновлюйте їх за потребою
Дана Вудман,

Так, тут все може піти не так для виробничих цілей, але лише ідея для цілей тестування.
Ахмедахтар, 11

2

Зіткнулася з тією ж проблемою, хоча я використовую пряжу.

У мене працювало:

yarn install 
yarn start

1

Для портативних програм змініть

package.json

наступним чином

"scripts": {
    "start": "node node_modules/.bin/react-scripts start",
    "build": "node node_modules/.bin/react-scripts build",
    "test": "node node_modules/.bin/react-scripts test",
    "eject": "node node_modules/.bin/react-scripts eject"
  }

0

Я перепробував багато вирішень цієї проблеми, знайдених в режимі он-лайн, але в моєму випадку нічого не вдалося, окрім перевстановлення NVM для Windows (яку я використовую для управління декількома версіями Node). У програмі встановлення він виявляє встановлені версії Node і запитує користувача, чи хочуть вони, щоб NVM керував ними. Я сказав "так", і NVM виправила всі проблеми PATH. В результаті все працювало як раніше. Ця проблема може мати кілька причин, але пошкоджений PATH, безумовно, є однією з них, і (пере) встановлення NVM виправляє PATH.


0

Це досить давнє запитання, але це може допомогти в подальшому. Видаліть папку node_modules і запустіть npm install знову. Працював у мене.


0

У моєму випадку я редагував свої файли в Linux, де у мене був встановлений вузол v14.0.5, коли я перезавантажився в Windows, де у мене був вузол v14.0.3, я отримав ту ж помилку. Тож я оновив версію вузла у вікнах і у мене все пішло нормально.


0

Ось як я це виправляю

  1. Перевірте та оновіть змінну шляху (див. Нижче, як оновити змінну шляху)
  2. Видаліть node_modules та package-lock.json
  3. бігти npm install
  4. бігти npm run start

якщо це не спрацювало, спробуйте встановити nodejs і запустіть ремонт

або очистити кеш npm npm cache clean --force

Щоб оновити змінну шляху

  1. натисніть клавішу windows
  2. Шукати Edit the system environmental variable
  3. Натисніть на Environment Variables...
  4. на нижній частині системної змінної (буде дві секції)
  5. Виберіть Pathім'я змінної
  6. Клацніть Edit..
  7. Перевірте, чи є C:\Program Files\nodejsв списку, якщо ні, додайте це

0

була подібна проблема .. я використовував пряжу, щоб це виправити. Я помітив, що у моїх вузлових модулях сценаріїв реакції не знайдено, тому я вирішив завантажити його з npm, але, здається, теж не вдається. отже, я спробував пряжу (пряжа додала реакційні сценарії), і це вирішило кошмар! Сподіваюся, ця робота також для вас. Щасливі люди з налагодження.


-1

У моєму випадку проблема полягала в тому, що у них недостатньо дозволів на файли для деяких файлів, на які збиралася записати установка пакета response-scripts. Що вирішило, це запустив git bash як адміністратор, а потім запустив npm install --save react-scriptsзнову.


-2

Коли я роблю новий проект за допомогою React, для встановлення модулів React мені потрібно запустити "npm install" (PowerShell) з папки ClientApp нових проектів (наприклад, "C: \ Users \ Chris \ source \ repos \ HelloWorld2 \ HelloWorld2 \ ClientApp "). Ядро .NET WebApp з React має мати файли React, встановлені у правильному місці, щоб команди React працювали належним чином.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.