Ошибка типа [ERR_INVALID_ARG_TYPE]: аргумент «путь» должен иметь тип string. Полученный тип undefined повышается при запуске приложения реакции


93

Я работаю над проектом в React и столкнулся с проблемой, которая поставила меня в тупик.

Всякий раз, когда я запускаю, yarn startя получаю эту ошибку:

Ошибка типа [ERR_INVALID_ARG_TYPE]: аргумент «путь» должен иметь тип string. Полученный тип не определен

Я понятия не имею, почему это происходит, если кто-то испытал это, я был бы благодарен.


Попробуйте снова удалить и переустановить модули узлов.
Астрит Спанка

Ответы:


178

Чтобы решить эту проблему, просто обновите до "react-scripts": "^3.4.0"

  1. Заменять существующий "react-scripts": "^3.x.x"с "react-scripts": "^3.4.0"вашей package.json
  2. Удалить ваши модули узла
  3. Запустите npm install или yarn install

Я надеюсь, что это будет исправить вас быстрее


11
последние 24 часа тяну меня за волосы, пытаясь решить эту проблему. это решение отлично работает для меня. Спасибо вам большое.
Rapid537

4
npm - это такая кучка навоза
Magicode

8
Моя проблема была решена при обновлении с 3.3.0до 3.4.0. Странно то, что просто перестал работать в середине разработки, без всякой причины.
Абстрактный алгоритм

3
Вы знаете, почему это происходит?
Ильяс Карим

10
Это «только начало» происходить со мной тоже, но это было действительно после запуска npm audit fix, на случай, если это кому-нибудь пригодится.
Джереми Джонс

19

Я также столкнулся с этой проблемой и выяснил ее путем обновления react-scriptsпакета "react-scripts": "3.x.x"до"react-scripts": "^3.4.0"

  1. Удалить node_modules\папку
  2. Удалить package-lock.jsonфайл
  3. Перепишите package.jsonфайл с "react-scripts": "3.x.x"на"react-scripts": "^3.4.0"
  4. Установите пакеты узлов снова npm i
  5. Теперь запустите проект npm start

И это работает!


7

Мы извлекли из react-scriptsи поэтому не могли просто обновить запись package.json, чтобы исправить это.

Вместо этого мы сделали это: 1.) в новом каталоге, создайте новый проект -> $> npx create-react-app foo-project 2.), а затем извлеките его -> cd ./foo-project && npm run eject 3.) теперь скопируйте файлы из / foo-project / config в каталог config нашего главного приложение и запустить ваш сервер разработки

надеюсь, что это помогает другим в подобной привязке.


6

У меня просто была эта проблема после установки и удаления некоторых пакетов npm, и я потратил почти 5 часов, чтобы понять, что происходит.

В основном я скопировал мои компоненты src / в другой каталог, затем удалил все модули узла и package-lock.json (если вы запускаете свое приложение в контейнере Docker, удалите изображения и перестройте его просто для безопасности); затем сбросьте его до моего последнего коммита и затем верните мои src / компоненты, затем запустили npm i.

Я надеюсь, что это помогает.


2
  1. Перейти к вам package.json

  2. Замените «activ-scripts»: «3.xx» на «act-scripts »:« ^ 3.4.0 »в зависимостях

  3. Переустановите реакции-скрипты: npm I react-scripts

  4. Начните свой проект: npm start



0

Если у вас есть извлеченный create-react-app , я бы предложил:

  1. Создайте новое приложение React через create-react-app.
  2. Извлечь это через npm run ejectили yarn eject.
  3. Установите все пакеты, которые отсутствуют в package.json.
  4. Скопируйте свой src папку предполагая, что весь ваш код находится в этой папке.
  5. Повторите ваши изменения в папках config и script , если это необходимо.

Работал на меня.


0

Я попробовал различные подходы, описанные выше, но ни один из них не сработал, так как я выбросил свой CSS. Наконец, применение следующих шагов помогло:

  1. Обновление react-scriptsс "react-scripts": "3.x.x"до"react-scripts": "^3.4.0"
  2. Понижение react-dev-utilsформы "react-dev-utils": "^10.x.x"до"react-dev-utils": "10.0.0"
  3. Удалить node-modulesпапку и package-lock.json/yarn.lock
  4. Переустановите пакеты npm install/yarn install

0

Если вы выбросили и любопытно, это изменение в репозитории CRA является причиной ошибки.

Чтобы это исправить, нужно применить свои изменения; а именно, последний набор файлов:

  • пакеты / реагировать-скрипты / конфигурации / paths.js
  • пакеты / реагировать-скрипты / конфигурации / webpack.config.js
  • пакеты / реагировать-скрипты / конфигурации / webpackDevServer.config.js
  • Пакеты / реагирующие-скрипты / package.json
  • Пакеты / реагирующие-скрипты / скрипты / build.js
  • Пакеты / реагирующие-скрипты / скрипты / start.js

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

ИЛИ , вы можете сделать то, что предложил Гео Ангелопулос. Это может занять некоторое время, но по крайней мере ваш проект будет синхронизирован с репозиторием CRA (и получит все их последние улучшения!).

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