TypeError [ERR_INVALID_ARG_TYPE]: อาร์กิวเมนต์“ เส้นทาง” จะต้องเป็นสตริงประเภท ประเภทที่ได้รับไม่ได้รับการยกเมื่อเริ่มแอปตอบโต้


92

ฉันกำลังทำงานในโครงการ React และพบปัญหาที่ทำให้ฉันนิ่งงัน

เมื่อใดก็ตามที่ฉันเรียกใช้yarn startฉันพบข้อผิดพลาดนี้:

TypeError [ERR_INVALID_ARG_TYPE]: อาร์กิวเมนต์ "พา ธ " ต้องเป็นสตริงประเภท ได้รับประเภทไม่ได้กำหนด

ฉันไม่รู้ว่าทำไมสิ่งนี้ถึงเกิดขึ้นถ้าใครมีประสบการณ์ฉันจะรู้สึกขอบคุณ


ลองลบและติดตั้งโมดูลโหนดอีกครั้ง
Astrit Spanca

คำตอบ:


177

เพื่อแก้ไขปัญหานี้เพียงอัพเกรดเป็น "react-scripts": "^3.4.0"

  1. เขียนทับที่มีอยู่"react-scripts": "^3.x.x"ด้วย"react-scripts": "^3.4.0"ใน package.json ของคุณ
  2. ลบโมดูลโหนดของคุณ
  3. เรียกใช้การติดตั้ง npm หรือการติดตั้งไหมพรม

ฉันหวังว่ามันจะแก้ไขเร็วขึ้นคุณ


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 ของ main ของเรา แอพและไฟเซิร์ฟเวอร์ dev ของคุณ

หวังว่าสิ่งนี้จะช่วยผู้อื่นในลักษณะเดียวกัน


6

ฉันเพิ่งมีปัญหานี้หลังจากติดตั้งและลบแพ็กเกจ npm และใช้เวลาเกือบ 5 ชั่วโมงเพื่อหาว่าเกิดอะไรขึ้น

สิ่งที่ฉันทำคือการคัดลอก src / components ของฉันไปยังไดเรกทอรีอื่นแล้วลบโมดูลโหนดและ package-lock.json (ถ้าคุณใช้แอพของคุณใน Docker container ลบรูปภาพและสร้างใหม่เพื่อความปลอดภัย); จากนั้นรีเซ็ตเป็นกระทำล่าสุดของฉันจากนั้นนำ src / components ของฉันกลับคืนnpm iชิ้นส่วนของฉันแล้ววิ่ง

ฉันหวังว่ามันจะช่วย


2
  1. ไปที่ package.json ของคุณ

  2. เปลี่ยน "react-สคริปต์": "3.xx" เป็น "react-สคริปต์": "^ 3.4.0" ในการพึ่งพา

  3. ติดตั้งสคริปต์ตอบกลับอีกครั้ง: npm I react-scripts

  4. เริ่มโครงการของคุณ: npm start



0

หากคุณมีการขับออกมา create-react-appผมจะแนะนำ:

  1. create-react-appสร้างใหม่ตอบสนองแอปผ่าน
  2. Eject มันผ่านหรือnpm run ejectyarn 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

หากคุณกดและอยากรู้อยากเห็นการเปลี่ยนแปลงนี้ใน repo CRA นี้เป็นสิ่งที่ทำให้เกิดข้อผิดพลาด

ในการแก้ไขคุณต้องใช้การเปลี่ยนแปลง กล่าวคือชุดสุดท้ายของไฟล์:

  • แพคเกจ / ตอบสนองสคริปต์ / config / paths.js
  • แพคเกจ / ตอบสนองสคริปต์ / config / webpack.config.js
  • แพคเกจ / ตอบสนองสคริปต์ / config / webpackDevServer.config.js
  • แพคเกจ / ตอบสนองสคริปต์ / package.json
  • แพคเกจ / ตอบสนองสคริปต์สคริปต์ / / build.js
  • แพคเกจ / ตอบสนองสคริปต์สคริปต์ / / start.js

โดยส่วนตัวแล้วฉันคิดว่าคุณควรใช้การเปลี่ยนแปลงด้วยตนเองเพราะหากคุณไม่ได้ติดตามการเปลี่ยนแปลงทั้งหมดคุณสามารถแนะนำข้อผิดพลาดอื่น ๆ ให้กับชุด webpack ของคุณได้

หรือคุณสามารถทำสิ่งที่ Geo Angelopoulos แนะนำ อาจใช้เวลาสักครู่ แต่อย่างน้อยโครงการของคุณจะซิงค์กับ CRA repo (และรับการปรับปรุงล่าสุดทั้งหมด!)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.