TypeError [ERR_INVALID_ARG_TYPE]: Argument „ścieżka” musi być typu ciąg. Otrzymano niezdefiniowany typ podniesiony podczas uruchamiania aplikacji reagowania

92

Pracuję nad projektem w React i napotkałem problem, który mnie zaskoczył.

Ilekroć uruchamiam, yarn startpojawia się ten błąd:

TypeError [ERR_INVALID_ARG_TYPE]: Argument „ścieżka” musi być typu ciąg. Odebrano typ niezdefiniowany

Nie mam pojęcia, dlaczego tak się dzieje, jeśli ktoś tego doświadczył, byłbym wdzięczny.

Fredrick Barrett
źródło
Spróbuj ponownie usunąć i ponownie zainstalować moduły węzła.
Astrit Spanca

Odpowiedzi:

177

Aby rozwiązać ten problem, po prostu zaktualizuj do "react-scripts": "^3.4.0"

  1. Zastąp istniejący za "react-scripts": "^3.x.x"pomocą "react-scripts": "^3.4.0"w pliku package.json
  2. Usuń moduły węzła
  3. Uruchom instalację npm lub instalację przędzy

Mam nadzieję, że naprawi to szybciej

EngrEric
źródło
11
wyciągając włosy przez ostatnie 24 godziny, próbując rozwiązać ten sam problem. to rozwiązanie działa dla mnie idealnie. Dziękuję bardzo.
Rapid537
4
npm to taki parujący nawóz
Magicode
8
Mój problem został rozwiązany, gdy rzeczywiście uaktualniania 3.3.0do 3.4.0. Dziwne jest to, że właśnie przestało działać w trakcie rozwoju, bez żadnego powodu.
Algorytm abstrakcyjny
3
Czy wiesz, dlaczego tak się dzieje?
Ilyas karim
10
To właśnie „zaczęło się” przydarzyć mi, ale tak naprawdę było po uruchomieniu npm audit fix, na wypadek, gdyby było to przydatne dla każdego.
Jeremy Jones
19

Napotkałem również ten problem i odkryłem go, aktualizując react-scriptspakiet od "react-scripts": "3.x.x"do"react-scripts": "^3.4.0"

  1. Usuń node_modules\folder
  2. Usuń package-lock.jsonplik
  3. Przepisz package.jsonplik z "react-scripts": "3.x.x"na"react-scripts": "^3.4.0"
  4. Zainstaluj ponownie pakiety węzłów npm i
  5. Teraz rozpocznij projekt npm start

I to działa !!

Fatema T. Zuhora
źródło
7

Wyrzuciliśmy z, react-scriptswięc nie mogliśmy po prostu zaktualizować wpis package.json, aby to naprawić.

Zamiast tego zrobiliśmy to: 1.) w nowym katalogu, utwórz nowy projekt -> $> npx create-react-app foo-project 2.), a następnie wysuń go -> cd ./foo-project && npm run eject 3.) teraz skopiuj pliki z / foo-project / config do katalogu config naszego głównego i uruchom serwer deweloperów

mam nadzieję, że to pomaga innym w podobnym związku.

Al DeLuca
źródło
6

Właśnie miałem ten problem po zainstalowaniu i usunięciu niektórych pakietów npm i spędziłem prawie 5 godzin, aby dowiedzieć się, co się dzieje.

To, co zrobiłem, to po prostu skopiowanie moich komponentów src / do innego katalogu, a następnie usunięcie wszystkich modułów węzła i package-lock.json (jeśli uruchamiasz aplikację w kontenerze Docker, usuń obrazy i odbuduj ją, aby zachować bezpieczeństwo); następnie zresetuj go do ostatniego zatwierdzenia, a następnie odłóż moje src / components i uruchomiłem npm i.

Mam nadzieję, że to pomoże.

Solijon Sharipov
źródło
2
  1. Idź do ciebie package.json

  2. Zmień „reaguj na skrypty”: „3.xx” na „reaguj na skrypty”: „^ 3.4.0” w zależnościach

  3. Ponownie zainstaluj skrypty reagowania: npm I react-scripts

  4. Rozpocznij projekt: npm start

edebo
źródło
0

Jeśli masz wyrzucony create-react-app , sugerowałbym:

  1. Utwórz nową aplikację React za pośrednictwem create-react-app.
  2. Wyrzuć to przez npm run ejectlub yarn eject.
  3. Zainstaluj wszystkie pakiety, których brakuje w package.json.
  4. Skopiuj folder src, zakładając, że cały kod znajduje się w tym folderze.
  5. W razie potrzeby powtórz zmiany w folderach konfiguracji i skryptów .

Pracował dla mnie.

Geo Angelopoulos
źródło
0

Próbowałem różnych metod opisanych powyżej, ale żadne z nich nie działało, odkąd wyrzuciłem mój css. Wreszcie zastosowanie następujących kroków pomogło:

  1. Uaktualnij react-scriptsz "react-scripts": "3.x.x"do"react-scripts": "^3.4.0"
  2. Obniżenie react-dev-utilsformularza "react-dev-utils": "^10.x.x"do"react-dev-utils": "10.0.0"
  3. Usuń node-modulesfolder i package-lock.json/yarn.lock
  4. Ponownie zainstaluj pakiety npm install/yarn install
Binod Kafle
źródło
0

Jeśli zostałeś wysunięty i jesteś ciekawy, ta zmiana w repozytorium CRA jest przyczyną błędu.

Aby to naprawić, musisz zastosować ich zmiany; mianowicie ostatni zestaw plików:

  • pakiety / reaguj-skrypty / config / paths.js
  • pakiety / reaguj-skrypty / config / webpack.config.js
  • pakiety / reaguj-skrypty / config / webpackDevServer.config.js
  • pakiety / reaguj-skrypty / pakiet.json
  • pakiety / reaguj-skrypty / skrypty / build.js
  • pakiety / reaguj-skrypty / skrypty / start.js

Osobiście uważam, że powinieneś ręcznie zastosować zmiany, ponieważ jeśli nie będziesz na bieżąco ze wszystkimi zmianami, możesz wprowadzić kolejny błąd do pakietu pakietu internetowego (z powodu niedopasowania zależności lub czegoś takiego).

LUB możesz zrobić to, co zasugerował Geo Angelopoulos. Może to chwilę potrwać, ale przynajmniej twój projekt będzie zsynchronizowany z repozytorium CRA (i otrzyma wszystkie ich najnowsze rozszerzenia!).

jpz95
źródło