TypeError [ERR_INVALID_ARG_TYPE]: Аргумент "path" повинен бути рядком типу. Отриманий тип невизначений піднімається під час запуску програми реагування


92

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

Щоразу, коли я запускаю, yarn startя отримую цю помилку:

TypeError [ERR_INVALID_ARG_TYPE]: Аргумент "path" повинен бути тип рядка. Отриманий тип не визначений

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


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

Відповіді:


177

Щоб вирішити цю проблему, просто перейдіть на "react-scripts": "^3.4.0"

  1. Замінювати існуючий "react-scripts": "^3.x.x"з "react-scripts": "^3.4.0"вашої package.json
  2. Видаліть модулі вузлів
  3. Запустіть npm 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 у каталог конфігурації нашого головного додаток і запустити ваш сервер розробників

сподіваюся, що це допомагає іншим у подібній зв'язці.


6

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

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

Я сподіваюся, що це допомагає.


2
  1. Перейдіть до пакета.json

  2. Змініть "react-script": "3.xx" на "react-script": "^ 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. Повторіть свої зміни в конфігураційних папках та папках скриптів , якщо це потрібно.

Працювали для мене.


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 є причиною помилки.

Щоб виправити це, потрібно застосувати їх зміни; а саме останній набір файлів:

  • пакети / react-script / config / paths.js
  • пакети / react-script / config / webpack.config.js
  • пакети / react-script / config / webpackDevServer.config.js
  • пакети / react-script / package.json
  • пакети / react-script / script / script.js
  • пакети / react-script / script / start.js

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

АБО ви можете зробити те, що запропонував Гео Ангелопулос. Це може зайняти деякий час, але принаймні ваш проект буде синхронізований з репортажем CRA (і отримати всі останні їх вдосконалення!).


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