reactjs - اجرای npm start در React کار نمیکند: 'هیچ نسخهای از chokidar موجود نیست'


من برنامه React-Typescript که قبلاً کار میکرد را از Github روی Github Pages کلون کردم و میخواستم بعضی تغییرات ایجاد کنم. من npm install را اجرا کرده و همه وابستگیها را نصب کردم اما وقتی npm start را اجرا کردم، این خطا را دریافت کردم؛

من نمیدانم chokidar چیست و کمی نگاه کردم و فکر میکنم به پروژهام ارتباطی ندارد. با این حال، سعی کردم chokidar را با npm نصب کنم و خطای دیگری مانند این دریافت کردم؛

همچنین npm audit fix را هم امتحان کردم. بعضی چیزها درست شد اما هیچ چیزی تغییر نکرد.

بنابراین نمیتوانم سرور توسعه را باز کنم. علاوه بر این، این فایل package.json است؛

// package.json
{
  "name": "panflix",
  "homepage": "https://absolutezero13.github.io/meerkast/",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.11.4",
    "@testing-library/react": "^11.1.0",
    "@testing-library/user-event": "^12.1.10",
    "@types/enzyme": "^3.10.8",
    "@types/jest": "^26.0.15",
    "@types/node": "^12.0.0",
    "@types/react": "^17.0.0",
    "@types/react-dom": "^17.0.0",
    "@types/redux-devtools": "^3.0.47",
    "axios": "^0.21.1",
    "enzyme": "^3.11.0",
    "firebase": "^8.2.7",
    "gh-pages": "^3.1.0",
    "history": "^4.10.1",
    "react": "^17.0.1",
    "react-bootstrap": "^1.5.0",
    "react-dom": "^17.0.1",
    "react-redux": "^7.2.2",
    "react-router-dom": "^5.2.0",
    "react-scripts": "4.0.2",
    "redux": "^4.0.5",
    "redux-devtools-extension": "^2.13.8",
    "redux-thunk": "^2.3.0",
    "typescript": "^4.1.2",
    "web-vitals": "^1.0.1"
  },
  "scripts": {
    "predeploy": "npm run build",
    "deploy": "gh-pages -d build",
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "devDependencies": {
    "@types/react-redux": "^7.1.16",
    "@types/react-router-dom": "^5.1.7"
  }
}


من تلاش کردم npm install -g chokidar را اجرا کنم و نصب شد. اما هنوز همان خطا را دریافت میکنم: «هیچ نسخهای از chokidar موجود نیست.»

سایر پروژههای React به خوبی کار میکنند.

پاسخ شماره ۱

من همان مشکل را داشتم. چیزی که برای من جواب داد، اجبار به بهروزرسانی بستههای محلی npm بود:

npm update --force

قبل

npm list chokidar
[email 
└─┬ [email 
  └─┬ [email 
    └── [email 

بعد

npm list chokidar
[email 
└─┬ [email 
  ├─┬ [email 
  │ └── [email 
  └─┬ [email 
    └─┬ [email 
      ├── [email 
      └─┬ [email 
        └── [email 

بهروزرسانی

ما متوجه شدیم که مشکل از NPM 7 بود. کاهش نسخه به NPM 6.14.12 بدون هیچ تغییری کار میکند.

پاسخ شماره ۲

مشکل خود را با اجرای آن حل کردم

npm update chokidar

این فایل package-lock.json را با آخرین اطلاعات chokidar بهروزرسانی خواهد کرد. اکنون react بدون هیچ مشکلی با npm 7.15 و node 14.16 اجرا میشود. نیازی به نصب اجباری یا انجام کارهای عجیب و غریب نیست. فقط chokidar را بهروزرسانی کنید تا فایلهای بسته شما پایدار باقی بمانند و توسعه برای همه اعضای تیم ادامه پیدا کند.

مشکل اصلی هنگامی پیش آمد که من از NPM 6 به نسخه 7 بروزرسانی کردم. همچنین یک تیکت باگ در گیتهاب وجود دارد: https://github.com/facebook/create-react-app/issues/10811

پاسخ شماره ۳

همین مشکل برای من هم بعد از ارتقا از [email  به [email  رخ داد. من مشکل خود را با نصب ساده chokidar به عنوان DevDependency حل کردم. همه چیز همانطور که انتظار میرفت کار میکند (توسعه، ساخت تولید و تستها)

برای اطمینان بیشتر اجرا کنید:

npm i -g npm
npm cache verify
npm i -D chokidar
npm i