TypeError [ERR_INVALID_ARG_TYPE]: Đối số đường dẫn trên đường dẫn phải có kiểu chuỗi. Loại đã nhận không xác định được nêu ra khi bắt đầu ứng dụng phản ứng


92

Tôi đang làm việc trong một dự án trong React và gặp phải một vấn đề khiến tôi bối rối.

Bất cứ khi nào tôi chạy, yarn starttôi gặp lỗi này:

TypeError [ERR_INVALID_ARG_TYPE]: Đối số "đường dẫn" phải là kiểu chuỗi. Loại nhận không xác định

Tôi không biết tại sao điều này lại xảy ra, nếu có ai từng trải qua điều này tôi sẽ rất biết ơn.


Hãy thử xóa và cài đặt lại các mô-đun nút một lần nữa.
Astrit Spanca

Câu trả lời:


177

Để khắc phục sự cố này, chỉ cần nâng cấp lên "react-scripts": "^3.4.0"

  1. Ghi đè lên hiện "react-scripts": "^3.x.x""react-scripts": "^3.4.0"trong gói.json của bạn
  2. Xóa các mô-đun nút của bạn
  3. Chạy cài đặt npm hoặc cài đặt sợi

Tôi hy vọng nó sẽ sửa chữa nhanh hơn bạn


11
kéo tóc tôi trong 24 giờ qua để cố gắng giải quyết vấn đề tương tự. giải pháp này hoạt động hoàn hảo cho tôi. cảm ơn bạn rất nhiều.
Rapid537

4
npm là một đống phân hấp như vậy
Magicode

8
Vấn đề của tôi đã được giải quyết khi thực sự nâng cấp từ 3.3.0đến 3.4.0. Điều kỳ lạ là chỉ dừng hoạt động ở giữa sự phát triển, mà không có lý do.
Thuật toán trừu tượng

3
Bạn có biết tại sao điều này xảy ra?
Ilyas karim

10
Điều này 'mới chỉ bắt đầu' xảy ra với tôi, nhưng nó thực sự là sau khi chạy npm audit fix, trong trường hợp đó là hữu ích cho bất cứ ai.
Jeremy Jones

19

Tôi cũng đã đối mặt với vấn đề này và tìm ra nó bằng cách nâng cấp react-scriptsgói từ "react-scripts": "3.x.x"lên"react-scripts": "^3.4.0"

  1. Xóa node_modules\thư mục
  2. Xóa package-lock.jsontập tin
  3. Viết lại package.jsontệp từ "react-scripts": "3.x.x"đến"react-scripts": "^3.4.0"
  4. Cài đặt lại các gói nút npm i
  5. Bây giờ, bắt đầu dự án npm start

Và nó hoạt động!!


7

Chúng tôi đã đẩy ra react-scriptsvà vì vậy không thể đơn giản nâng cấp mục nhập pack.json để sửa lỗi này.

Thay vào đó, chúng tôi đã làm điều này: 1.) trong một thư mục mới, tạo một dự án mới -> $> npx create-react-app foo-project 2.) và sau đó đẩy nó -> cd ./foo-project && npm run eject 3.) bây giờ sao chép các tệp từ / foo-project / config vào thư mục cấu hình chính của chúng tôi ứng dụng và kích hoạt máy chủ dev của bạn

hy vọng điều này sẽ giúp những người khác trong một ràng buộc tương tự.


6

Tôi chỉ gặp vấn đề này sau khi cài đặt và gỡ bỏ một số gói npm và mất gần 5 giờ để tìm hiểu chuyện gì đang xảy ra.

Những gì tôi đã làm về cơ bản là sao chép src / thành phần của mình trong một thư mục khác, sau đó xóa tất cả các mô-đun nút và gói-lock.json (nếu bạn đang chạy ứng dụng của mình trong bộ chứa Docker, hãy xóa hình ảnh và xây dựng lại để an toàn); sau đó đặt lại nó vào lần xác nhận cuối cùng của tôi và sau đó đặt lại src / thành phần của tôi rồi chạy npm i.

Tôi hy vọng nó sẽ giúp.


2
  1. Chuyển đến bạn pack.json

  2. Thay đổi "Reac-scripts": "3.xx" thành "Reac-scripts": "^ 3.4.0" trong phần phụ thuộc

  3. Cài đặt lại các tập lệnh phản ứng: npm I react-scripts

  4. Bắt đầu dự án của bạn: npm start


1

Chạy npm i react-dev-utils@10.0.0giải quyết vấn đề của tôi.


Tôi đã làm tất cả trước đó, và sau đó điều này sửa nó.
NicoWheat

0

Nếu bạn bị đẩy ra create-react-app , tôi sẽ đề nghị:

  1. Tạo một ứng dụng React mới thông qua create-react-app.
  2. Đẩy nó qua npm run ejecthoặc yarn eject.
  3. Cài đặt tất cả các gói bị thiếu từ package.json.
  4. Sao chép thư mục src của bạn giả sử tất cả mã của bạn nằm trong thư mục này.
  5. Làm lại các thay đổi của bạn trên các thư mục cấu hìnhtập lệnh , nếu cần.

Đã làm cho tôi.


0

Tôi đã thử các cách tiếp cận khác nhau được mô tả ở trên nhưng không ai trong số họ làm việc vì tôi đã đẩy css của mình. Cuối cùng áp dụng các bước sau đây đã giúp:

  1. Nâng cấp react-scriptstừ "react-scripts": "3.x.x"lên"react-scripts": "^3.4.0"
  2. Hạ react-dev-utilshình thức "react-dev-utils": "^10.x.x"để"react-dev-utils": "10.0.0"
  3. Xóa node-modulesthư mục và package-lock.json/yarn.lock
  4. Cài đặt lại gói npm install/yarn install

0

Nếu bạn đã đẩy ra và tò mò, thay đổi này trên repo CRA là nguyên nhân gây ra lỗi.

Để khắc phục, bạn cần áp dụng các thay đổi của họ; cụ thể là bộ tệp cuối cùng:

  • gói / Reac-scripts / config / path.js
  • gói / Reac-scripts / config / webpack.config.js
  • gói / Reac-scripts / config / webpackDevServer.config.js
  • gói / Reac-scripts / pack.json
  • gói / Reac-scripts / scripts / build.js
  • gói / Reac-scripts / scripts / start.js

Cá nhân, tôi nghĩ bạn nên áp dụng các thay đổi theo cách thủ công bởi vì, trừ khi bạn luôn cập nhật tất cả các thay đổi, bạn có thể đưa ra một lỗi khác cho gói webpack của mình (vì sự không phù hợp phụ thuộc hoặc một cái gì đó).

HOẶC , bạn có thể làm những gì Geo Angelopoulos đề xuất. Có thể mất một lúc nhưng ít nhất dự án của bạn sẽ đồng bộ với repo CRA (và nhận được tất cả các cải tiến mới nhất của họ!).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.