TypeError [ERR_INVALID_ARG_TYPE] : "path"인수는 문자열 유형이어야합니다. 반응 앱을 시작할 때 수신 유형이 정의되지 않음


92

React에서 프로젝트를 진행 중이며 문제가 발생했습니다.

실행할 때마다이 yarn start오류가 발생합니다.

TypeError [ERR_INVALID_ARG_TYPE] : "path"인수는 문자열 유형이어야합니다. 수신 유형 정의되지 않음

나는 왜 이런 일이 일어나고 있는지 전혀 모른다. 누군가가 이것을 경험했다면 나는 감사 할 것이다.


노드 모듈을 삭제하고 다시 설치하십시오.
Astrit Spanca

답변:


177

이 문제를 해결하려면 "react-scripts": "^3.4.0"

  1. 패키지에서 기존 파일 "react-scripts": "^3.x.x"을 덮어 씁니다."react-scripts": "^3.4.0"
  2. 노드 모듈 삭제
  3. npm install 또는 yarn install을 실행하십시오.

더 빨리 고쳐지기를 바랍니다.


11
이 문제를 해결하기 위해 지난 24 시간 동안 머리카락을 뽑았습니다. 이 솔루션은 저에게 완벽하게 작동합니다. 정말 고맙습니다.
Rapid537

4
npm은 배설물 더미입니다
Magicode

8
에서 3.3.0로 업그레이드 할 때 문제가 해결 되었습니다 3.4.0. 이상한 점은 어떤 이유없이 개발 도중에 작동이 멈췄다는 것입니다.
추상 알고리즘

3
왜 이런 일이 일어나는지 아십니까?
Ilyas karim

10
이 '방금 시작된 것'도 나에게 일어나고 있었지만 npm audit fix, 누군가에게 유용한 경우를 대비하여 실제로 실행 한 후에였습니다 .
Jeremy Jones

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 / components를 다른 디렉토리에 복사 한 다음 모든 노드 모듈과 package-lock.json을 제거했습니다 (Docker 컨테이너에서 앱을 실행하는 경우 이미지를 제거하고 안전하도록 다시 빌드하십시오). 그런 다음 마지막 커밋으로 재설정 한 다음 src / components를 다시 넣고 실행하십시오 npm i.

도움이 되길 바랍니다.


2
  1. package.json으로 이동

  2. 종속성에서 "react-scripts": "3.xx"를 "react-scripts": "^ 3.4.0"으로 변경하십시오.

  3. 반응 스크립트를 다시 설치하십시오. npm I react-scripts

  4. 프로젝트를 시작하십시오 : npm start


0

배출 된 경우 다음을 create-react-app제안합니다.

  1. 를 통해 새 React 앱을 만듭니다 create-react-app.
  2. 를 통해 꺼내기 npm run ejectyarn 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-scripts/config/paths.js
  • packages / react-scripts / config / webpack.config.js
  • packages / react-scripts / config / webpackDevServer.config.js
  • 꾸러미 /react-scripts/package.json
  • 꾸러미 /react-scripts/scripts/build.js
  • 꾸러미 /react-scripts/scripts/start.js

개인적으로 모든 변경 사항을 최신 상태로 유지하지 않는 한 (종속 불일치 등으로 인해) 웹 패키지 번들에 다른 버그가 발생할 수 있으므로 변경 사항을 수동으로 적용해야한다고 생각합니다.

또는 Geo Angelopoulos가 제안한 것을 할 수 있습니다. 다소 시간이 걸릴 수 있지만 최소한 프로젝트는 CRA 저장소와 동기화됩니다 (그리고 모든 최신 기능 향상!).


0

실행 npm i react-dev-utils@10.0.0하면 내 문제가 해결되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.