обновление реактивных скриптов с 3.4 до 4.0 вызывает ошибку версии Jest

Я пытаюсь обновить версию реактивных сценариев с 3.4.3 до 4.0, чтобы получить поддержку машинописного текста для 4.0, но обновление выдает следующую ошибку:

Пакет react-scripts, предоставляемый Create React App, требует зависимости:

вавилонская шутка: ^ 26.6.0

Не пытайтесь установить его вручную: ваш менеджер пакетов сделает это автоматически. Однако выше в дереве была обнаружена другая версия babel-jest:

Я попытался обновить с помощью:

  npm install --save --save-exact [email protected]

Я попытался удалить node_modules, запустить очистку кеша --force, но все равно получаю эту ошибку и снова запускаю npm install

это мой оригинальный package.json

  {
   "name": "react-redux",
   "version": "0.1.0",
   "private": true,
   "scripts": {
       "start:local": "env-cmd -f .env.local react-scripts start",
       "start:dev": "env-cmd -f .env.dev react-scripts start",
       "start:qa": "env-cmd -f .env.qa react-scripts start",
       "start:uat": "env-cmd -f .env.uat react-scripts start",
       "start:prod": "env-cmd -f .env.prod react-scripts start",
       "build:local": "env-cmd -f .env.local react-scripts build",
       "build:dev": "env-cmd -f .env.dev react-scripts build",
       "build:qa": "env-cmd -f .env.qa react-scripts build",
       "build:uat": "env-cmd -f .env.uat react-scripts build",
       "build:prod": "env-cmd -f .env.prod react-scripts build",
       "prestart:api": "node tools/create-mock-db.js",
       "start:api": "node tools/api-server.js",
       "test": "jest",
       "start": "run-p start:api start:dev",
       "build": "run-p build:dev"
   },
   "jest": {
       "setupFiles": [
           "./tools/testSetup.js"
       ],
       "moduleNameMapper": {
           "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|mp3|wav|m4a|aac|oga)$": "<rootDir>/tools/fileMock.js",
           "\\.(css|less)$": "<rootDir>/tools/style-mock.js"
       }
   },
   "dependencies": {
       "@draft-js-plugins/editor": "^4.0.0-beta2",
       "@draft-js-plugins/mention": "^4.0.0-beta2",
       "@fluentui/react": "^7.109.1",
       "@progress/kendo-data-query": "1.5.2",
       "@progress/kendo-date-math": "1.5.1",
       "@progress/kendo-drawing": "1.6.0",
       "@progress/kendo-react-animation": "3.9.0",
       "@progress/kendo-react-buttons": "3.9.0",
       "@progress/kendo-react-data-tools": "^3.9.0",
       "@progress/kendo-react-dateinputs": "3.9.0",
       "@progress/kendo-react-dialogs": "3.9.0",
       "@progress/kendo-react-dropdowns": "3.9.0",
       "@progress/kendo-react-editor": "3.11.0",
       "@progress/kendo-react-excel-export": "3.9.0",
       "@progress/kendo-react-grid": "3.9.0",
       "@progress/kendo-react-inputs": "3.9.0",
       "@progress/kendo-react-intl": "3.9.0",
       "@progress/kendo-react-layout": "3.9.0",
       "@progress/kendo-react-pdf": "3.9.0",
       "@progress/kendo-react-popup": "3.9.0",
       "@progress/kendo-react-upload": "^3.14.0",
       "@progress/kendo-theme-bootstrap": "^4.9.1",
       "@reduxjs/toolkit": "^1.2.1",
       "@testing-library/jest-dom": "^4.2.4",
       "@testing-library/react": "^9.3.2",
       "@testing-library/user-event": "^7.1.2",
       "@types/bootstrap": "^4.3.1",
       "@types/enzyme": "^3.10.4",
       "@types/jest": "^24.0.24",
       "@types/node": "^12.0.0",
       "@types/react": "^16.9.0",
       "@types/react-dom": "^16.9.0",
       "@types/react-redux": "^7.1.5",
       "@types/react-router-dom": "^5.1.3",
       "@types/react-toastify": "^4.1.0",
       "@types/redux": "^3.6.0",
       "@types/redux-immutable-state-invariant": "^2.1.1",
       "@types/redux-thunk": "^2.1.0",
       "@types/reselect": "^2.2.0",
       "@uifabric/example-data": "^7.0.14",
       "@uifabric/icons": "^7.3.33",
       "bootstrap": "^4.4.1",
       "draft-js": "^0.11.7",
       "draft-js-export-html": "^1.4.1",
       "immer": "2.1.3",
       "lodash": "^4.17.20",
       "node-sass": "^4.14.1",
       "powerbi-client-react": "^1.1.0",
       "prop-types": "15.7.2",
       "react": "^16.12.0",
       "react-app-polyfill": "^1.0.6",
       "react-bootstrap": "^1.0.0-beta.16",
       "react-dom": "^16.12.0",
       "react-mentions": "^4.0.1",
       "react-redux": "^7.1.3",
       "react-router-dom": "^5.1.2",
       "react-scripts": "^3.4.3",
       "react-toastify": "^5.4.1",
       "react-transition-group": "4.3.0",
       "redux": "^4.0.4",
       "redux-immutable-state-invariant": "^2.1.0",
       "redux-thunk": "^2.3.0",
       "reselect": "^4.0.0",
       "typescript": "^4.1.2"
   },
   "devDependencies": {
       "@types/draft-js": "^0.10.44",
       "@types/lodash": "^4.14.161",
       "@types/react-mentions": "^3.3.0",
       "env-cmd": "^10.1.0",
       "enzyme": "^3.9.0",
       "enzyme-adapter-react-16": "1.11.2",
       "fetch-mock": "^8.1.0",
       "jest": "^24.9.0",
       "json-server": "^0.16.1",
       "node-fetch": "^2.6.1",
       "npm-run-all": "4.1.5",
       "react-test-renderer": "16.8.4",
       "react-testing-library": "^6.1.2",
       "redux-immutable-state-invariant": "2.1.0",
       "redux-mock-store": "^1.5.3",
       "rimraf": "2.6.3",
       "selfsigned": "^1.10.7",
       "style-loader": "0.23.1"
   },
   "browserslist": {
       "production": [
           ">0.2%",
           "not dead",
           "not op_mini all"
       ],
       "development": [
           "last 1 chrome version",
           "last 1 firefox version",
           "last 1 safari version"
       ]
   }
}

После запуска обновления это моя версия-

{
    "name": "react-redux",
    "version": "0.1.0",
    "private": true,
    "scripts": {
        "start:local": "env-cmd -f .env.local react-scripts start",
        "start:dev": "env-cmd -f .env.dev react-scripts start",
        "start:qa": "env-cmd -f .env.qa react-scripts start",
        "start:uat": "env-cmd -f .env.uat react-scripts start",
        "start:prod": "env-cmd -f .env.prod react-scripts start",
        "build:local": "env-cmd -f .env.local react-scripts build",
        "build:dev": "env-cmd -f .env.dev react-scripts build",
        "build:qa": "env-cmd -f .env.qa react-scripts build",
        "build:uat": "env-cmd -f .env.uat react-scripts build",
        "build:prod": "env-cmd -f .env.prod react-scripts build",
        "prestart:api": "node tools/create-mock-db.js",
        "start:api": "node tools/api-server.js",
        "test": "jest",
        "start": "run-p start:api start:dev",
        "build": "run-p build:dev"
    },
    "jest": {
        "setupFiles": [
            "./tools/testSetup.js"
        ],
        "moduleNameMapper": {
            "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|mp3|wav|m4a|aac|oga)$": "<rootDir>/tools/fileMock.js",
            "\\.(css|less)$": "<rootDir>/tools/style-mock.js"
        }
    },
    "dependencies": {
        "@draft-js-plugins/editor": "^4.0.0-beta2",
        "@draft-js-plugins/mention": "^4.0.0-beta2",
        "@fluentui/react": "^7.109.1",
        "@progress/kendo-data-query": "1.5.2",
        "@progress/kendo-date-math": "1.5.1",
        "@progress/kendo-drawing": "1.6.0",
        "@progress/kendo-react-animation": "3.9.0",
        "@progress/kendo-react-buttons": "3.9.0",
        "@progress/kendo-react-data-tools": "^3.9.0",
        "@progress/kendo-react-dateinputs": "3.9.0",
        "@progress/kendo-react-dialogs": "3.9.0",
        "@progress/kendo-react-dropdowns": "3.9.0",
        "@progress/kendo-react-editor": "3.11.0",
        "@progress/kendo-react-excel-export": "3.9.0",
        "@progress/kendo-react-grid": "3.9.0",
        "@progress/kendo-react-inputs": "3.9.0",
        "@progress/kendo-react-intl": "3.9.0",
        "@progress/kendo-react-layout": "3.9.0",
        "@progress/kendo-react-pdf": "3.9.0",
        "@progress/kendo-react-popup": "3.9.0",
        "@progress/kendo-react-upload": "^3.14.0",
        "@progress/kendo-theme-bootstrap": "^4.9.1",
        "@reduxjs/toolkit": "^1.2.1",
        "@testing-library/jest-dom": "^4.2.4",
        "@testing-library/react": "^9.3.2",
        "@testing-library/user-event": "^7.1.2",
        "@types/bootstrap": "^4.3.1",
        "@types/enzyme": "^3.10.4",
        "@types/jest": "^24.0.24",
        "@types/node": "^12.0.0",
        "@types/react": "^16.9.0",
        "@types/react-dom": "^16.9.0",
        "@types/react-redux": "^7.1.5",
        "@types/react-router-dom": "^5.1.3",
        "@types/react-toastify": "^4.1.0",
        "@types/redux": "^3.6.0",
        "@types/redux-immutable-state-invariant": "^2.1.1",
        "@types/redux-thunk": "^2.1.0",
        "@types/reselect": "^2.2.0",
        "@uifabric/example-data": "^7.0.14",
        "@uifabric/icons": "^7.3.33",
        "bootstrap": "^4.4.1",
        "draft-js": "^0.11.7",
        "draft-js-export-html": "^1.4.1",
        "immer": "2.1.3",
        "lodash": "^4.17.20",
        "node-sass": "^4.14.1",
        "powerbi-client-react": "^1.1.0",
        "prop-types": "15.7.2",
        "react": "^16.12.0",
        "react-app-polyfill": "^1.0.6",
        "react-bootstrap": "^1.0.0-beta.16",
        "react-dom": "^16.12.0",
        "react-mentions": "^4.0.1",
        "react-redux": "^7.1.3",
        "react-router-dom": "^5.1.2",
        "react-scripts": "4.0.0",
        "react-toastify": "^5.4.1",
        "react-transition-group": "4.3.0",
        "redux": "^4.0.4",
        "redux-immutable-state-invariant": "^2.1.0",
        "redux-thunk": "^2.3.0",
        "reselect": "^4.0.0",
        "typescript": "^4.0.3"
    },
    "devDependencies": {
        "@types/draft-js": "^0.10.44",
        "@types/lodash": "^4.14.161",
        "@types/react-mentions": "^3.3.0",
        "env-cmd": "^10.1.0",
        "enzyme": "^3.9.0",
        "enzyme-adapter-react-16": "1.11.2",
        "fetch-mock": "^8.1.0",
        "jest": "^24.9.0",
        "json-server": "^0.16.1",
        "node-fetch": "^2.6.1",
        "npm-run-all": "4.1.5",
        "react-test-renderer": "16.8.4",
        "react-testing-library": "^6.1.2",
        "redux-immutable-state-invariant": "2.1.0",
        "redux-mock-store": "^1.5.3",
        "rimraf": "2.6.3",
        "selfsigned": "^1.10.7",
        "style-loader": "0.23.1"
    },
    "browserslist": {
        "production": [
            ">0.2%",
            "not dead",
            "not op_mini all"
        ],
        "development": [
            "last 1 chrome version",
            "last 1 firefox version",
            "last 1 safari version"
        ]
    }
}

Должны ли мы обновлять шутку вручную?


person Sandeep K    schedule 12.12.2020    source источник
comment
У меня такая же проблема, но решения я тоже пока не нашел.   -  person developarvin    schedule 22.01.2021
comment
У меня сработало удаление node_modules из проекта через терминал.   -  person cheznead    schedule 05.02.2021


Ответы (1)


У меня была аналогичная проблема с babel-loader. Скорее всего, другая зависимость в вашем проекте устанавливает другую версию babel-jest, которая несовместима с [email protected].

  1. Удалить node_modules
  2. Удалить пакет-lock.json
  3. Откройте терминал в текущем каталоге и запустите npm ls babel-jest — это покажет вам, какая еще зависимость в вашем проекте нуждается в babel-jest.
  4. Временно удалите зависимости, которым требуется babel-jest, из package.json.
  5. Выполнить npm i.
  6. После завершения установки проверьте версию babel-jest — она должна быть той, которая нужна для реагирующих сценариев.
  7. Теперь восстановите удаленные зависимости и снова запустите npm i или установите каждую из них отдельно с флагом -s или -D (dep./dev-dep).
person Petar Petrov    schedule 10.05.2021