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

Каждый раз, когда я запускаю начало пряжи, я получаю эту ошибку:

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

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

Ответы (24)

Чтобы решить эту проблему, просто обновите пакет response-scripts (проверьте последнюю версию с помощью npm info, версия response-scripts):

  1. Замените в своем package.json "response-scripts": "^ 3.xx" на "react-scripts": "^ 3.4.1" (или последняя доступная версия)
  2. (для некоторых необязательно) Удалите вашу node_modules папку
  3. Запуск установка npm или установка пряжи

Некоторые люди сообщали, что эта проблема была вызвана запуском npm audit fix (избегайте этого!).

Запуск npm i react-dev-utils@10.0.0 решил мою проблему.

Установка подходящего значения для переменной среды HOME решает эту проблему для меня.

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

npm i -g npm-reinstall
reinstall react-scripts

Ни одно другое решение у меня не помогло.

Однако добавление этого в мой package.json устранило проблему для меня:

"resolutions": {
  "react-dev-utils": "10.0.0"
},

Выполните следующие шаги. Я тоже столкнулся с той же проблемой.

  1. удалить всю папку node_modules.
  2. удалите файл package-lock.json.
  3. команда запуска npm install npm-install как показано на изображении:

    showing the command to install npm

  4. Ну вот ... npm start ... wao

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

  1. Обновитьсценарии реакции с "сценарии реагирования": "3.xx" до "сценарии реагирования": "^ 3.4.0"
  2. Понижение версии react-dev-utils form "react-dev-utils": "^ 10.xx" до "react-dev-utils": "10.0 .0 "
  3. Удалить node-modules папку и package-lock.json/yarn.lock
  4. Переустановка пакетов установка npm/установка пряжи

Если у вас есть извлеченный CRA, есть несколько изменений в конфигурации webpack-dev-server, которые, если оставить их без изменений, вызовут эту ошибку. Сравнение только что извлеченной конфигурации CRA 4.x с моей конфигурацией CRA 3.x показало ряд изменений в функциях, которые ранее не принимали аргументы, которые теперь принимают.

В моем случае одним из критических изменений было добавление пути к их функции noopServiceWorkerMiddleware. Добавление отсутствующего пути noopServiceWorkerMiddleware (paths.publicUrl) исправило это для меня.

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

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

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

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

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

Надеюсь, поможет.

Просто нужно удалить и переустановить скрипты реакции

Удалить пряжа удалить скрипты реакции Добавить пряжа добавить скрипты реакции

, а затем rm -rf node_modules / yarn.lock && yarn

  • Помните, не обновляйте скрипты реакции версию

In my case, it was because I (at one point) had reactn installed, which also includes its own version of React (for some reason).

После установки (даже после повторного удаления) эта ошибка возникла.

Я просто удалил node_modules и снова запустил npm install, и это сработало.

Я тоже столкнулся с этой проблемой и решил ее, обновив пакет response-scripts с "react-scripts": "3.xx" до " response-scripts ":" ^ 3.4.1 " (или последняя доступная версия).

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

И работает !!

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

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

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

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

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

  • пакеты / сценарии реакции / config / paths.js
  • пакеты / сценарии реакции / config / webpack.config.js
  • пакеты / сценарии реакции / config / webpackDevServer.config.js
  • пакеты / сценарии-реакции / package.json
  • пакеты / сценарии-реакции / сценарии / build.js
  • пакеты / сценарии-реакции / сценарии / start.js

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

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

Я исправил эту проблему, установив более новую версию узла по умолчанию в nvm, например: * 100002*

nvm alias default 12.XX.X

Просто обновите response-скрипты до последней версии.

yarn add react-scripts@latest

ИЛИ ПРИ ИСПОЛЬЗОВАНИИ NPM

npm install react-scripts@latest

У меня была такая же проблема с его запуском в моем конвейере.

Для меня проблема заключалась в том, что я использовал node версию v10.0.0 в моем контейнере docker.

Обновление до v14.7.0 решило это для меня

Если вы катапультировались, это правильный способ решить эту проблему:

найдите этот файл config / webpackDevServer.config.js и затем внутри этого файла найдите следующую строку:

app.use(noopServiceWorkerMiddleware());

Вы должны изменить его на:

app.use(noopServiceWorkerMiddleware('/'));

Для меня (и, вероятно, большинства из вас) сервис-воркер обслуживается в корне проекта. Если у вас все по-другому, вы можете вместо этого передать свой базовый путь.

У меня была точно такая же проблема с блогом о гэтсби. Зависимости не могли быть обновлены и могли работать только на npm версии 10.22.1.

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

#! / Bin / bash
rm -rf .cache
rm -rf общедоступный
сборка гэтсби
Гэтсби служить

В основном полностью пересобрать все, и эта ошибка исчезла. Очень раздражает, но, по крайней мере, строит.

Что еще более странно, так это то, что если я изменил изображение сообщения в блоге, например, немного изменив его размер, оно построится. Я понятия не имею, почему. Но это, по крайней мере, ключ к разгадке.

Простое обновление версии сценариев реакции решило мою проблему. response-scripts пакет из "react-scripts": "3.xx" до "react-scripts": "^ 3.4.1" (или последняя доступная версия). Не удаляйте сразу package-lock.json. Сначала попробуйте это, если это не сработает, продолжайте.

У меня была такая же проблема, и при запуске npm install react-scripts@latest моя проблема была исправлена.

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

  2. Заменить "response-scripts": "3.x.x" на "react-scripts": "^ 3.4.0" в зависимостях

  3. Переустановите сценарии реакции: npm I сценарии реагирования

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

Если вам сложно отобразить изображение в файле response.js, я попытался выполнить поиск на YouTube. Он предлагает добавить изображение в папку 'public' (а не в папку 'src').

Хотя все еще ищу причины, по которым добавление изображений в папку 'src' не сработало.

ссылка:

https://www.youtube.com/watch?v=taMJct5oeoI&ab_channel=EsterlingAccime

https://daveceddia.com/react-image-tag/

2022 WebDevInsider