簡體   English   中英

Create React App 提供的 react-scripts package 需要依賴:Babel-Jest

[英]The react-scripts package provided by Create React App requires a dependency : Babel-Jest

我在運行react-script test時發現了這個錯誤消息

The react-scripts package provided by Create React App requires a dependency "babel-jest": "^24.9.0"`

因此錯誤消息還建議我們刪除 package-lock.json 以及我嘗試過的 node_modules 但我有相同的錯誤消息。

我檢查了 package-lock.json ,例如 jest-config (是一個子依賴項)使用比 react-script 接受更高的版本。

請如果您有一些建議

packages.json

{
  "name": "creator-web-app",
  "version": "0.1.0",
  "private": true,
  "main": "public/electron.js",
  "homepage": "./",
  "dependencies": {
    "@craco/craco": "^5.6.4",
    "@testing-library/jest-dom": "^4.2.4",
    "@testing-library/react": "^9.5.0",
    "@testing-library/user-event": "^7.2.1",
    "@types/react": "^16.9.34",
    "await-to-js": "^2.1.1",
    "axios": "^0.19.2",
    "classnames": "^2.2.6",
    "electron-is-dev": "^1.2.0",
    "env-cmd": "^10.1.0",
    "enzyme": "^3.11.0",
    "history": "^4.10.1",
    "i18next": "^19.4.2",
    "i18next-browser-languagedetector": "^4.0.2",
    "jest": "^25.3.0",
    "jwt-decode": "^2.2.0",
    "moment": "^2.24.0",
    "nano-id": "^1.1.0",
    "npm-watch": "^0.6.0",
    "react": "^16.13.1",
    "react-cookies": "^0.1.1",
    "react-dom": "^16.13.1",
    "react-i18next": "^11.3.4",
    "react-inlinesvg": "^1.2.0",
    "react-redux": "^7.2.0",
    "react-router-dom": "5.1.2",
    "react-scripts": "3.4.1",
    "redux": "^4.0.5",
    "redux-form": "^8.3.3",
    "redux-thunk": "^2.3.0",
    "typescript": "^3.7.0"
  },
  "scripts": {
    "electron": "NODE_ENV=production npm run build && NODE_ENV=production electron .",
    "start": "NODE_ENV=development react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject",
    "pack": "NODE_ENV=production && npm run build && electron-builder --dir",
    "dist": "NODE_ENV=production && npm run build electron-builder"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "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/classnames": "^2.2.10",
    "@types/enzyme": "^3.10.5",
    "@types/jest": "^25.2.1",
    "@types/react-redux": "^7.1.7",
    "@types/react-router-dom": "^5.1.4",
    "@types/redux-form": "^8.2.3",
    "craco-alias": "^2.1.1",
    "electron": "^8.2.1",
    "electron-builder": "^22.4.1",
    "enzyme-adapter-react-16": "^1.15.2",
    "node-sass": "^4.13.1",
    "react-test-renderer": "^15.6.2",
    "ts-jest": "^25.4.0",
    "whatwg-fetch": "^3.0.0"
  },
  "build": {
    "appId": "studioapp.id",
    "mac": {
      "category": "your.app.category.type"
    },
    "files": [
      "**/*"
    ],
    "directories": {
      "buildResources": "."
    },
    "protocols": {
      "name": "studioapp-protocol",
      "schemes": [
        "studioapp"
      ]
    }
  },
  "jest": {
    "collectCoverageFrom": [
      "<rootDir>/src/**/*.{ts,tsx}"
    ],
    "moduleNameMapper": {
      "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|yml)$": "<rootDir>/tests/test-file-mock.js",
      "\\.(css|less|scss|sss|styl)$": "<rootDir>/tests/test-mock.js",
      "@/(.*)$": "<rootDir>/src/$1"
    },
    "transform": {
      "^.+\\.(tsx|ts)?$": "ts-jest"
    }
  }
}

謝謝

我在create-react-app上遇到了同樣的問題。 這是我所做的

Go 到路徑

C:\Users\YOURNAME\node_modules

然后刪除那些顯示錯誤的包。

更多信息在這里: https://github.com/creativetimofficial/argon-dashboard-react/issues/28

具有諷刺意味的是,我今天早上正在研究一個類似的問題。 您能否提供您的 package.json 的屏幕截圖和錯誤消息?

Babel-Jest 用於將 javascript 代碼編譯成 jest 可以使用的格式。 我懷疑您的問題是您有一個依賴項,即鎖定文件隨后鎖定在不正確的 babel-jest 版本中。

我可以從上面的響應中添加更多細節來解決這個問題,我發現了問題。

當我們使用 react-scripts 時,我們不能有 jest 包,或者某些東西已經由 create-react-app 管理

我遇到的問題是 package.json 包含比 react-script 可以接受的更高版本的笑話

當我在 package.json 中刪除這一行時,似乎已經可以工作了

您的依賴項之一是使用更新版本的babel-jest 您可以通過在項目根目錄中運行npm ls babel-jest來找到它們。

解決問題的一個簡單方法是嘗試鏈接到這些包的舊版本,例如"@types/jest": "^24.0.0"以便他們不使用新版本的babel-jest .

對於 mac 用戶刪除

/Users/{UserName}/node_modules

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM