web-dev-qa-db-fra.com

Nécessite Babel "^ 7.0.0-0", mais a été chargé avec "6.26.0"

J'ai migré mon application vers babel 7 bêta et tout semble fonctionner, à l'exception des tests. Je pense avoir tout lu, mais je reçois toujours cette erreur:

● Echec de l'exécution de la suite de tests

Requires Babel "^7.0.0-0", but was loaded with "6.26.0". If you are sure you have a compatible version of @babel/core, it is likely

que quelque chose dans votre processus de construction charge la mauvaise version . Inspectez la trace de pile de cette erreur pour rechercher la première entrée cela ne mentionne pas "@ babel/core" ou "babel-core" pour voir ce qui est appeler Babel.

  at throwVersionError (node_modules/@babel/helper-plugin-utils/lib/index.js:65:11)
  at Object.assertVersion (node_modules/@babel/helper-plugin-utils/lib/index.js:13:11)
  at _default (node_modules/@babel/plugin-proposal-class-properties/lib/index.js:81:7)
  at node_modules/@babel/helper-plugin-utils/lib/index.js:19:12
      at Array.map (<anonymous>)

Suites de test: 8 échecs, 8 au total

babelrc

{
  "presets": [
    "@babel/preset-env",
    "@babel/preset-react",
    "@babel/preset-flow"
  ],
  "plugins": [
    ["module-resolver", {
      "alias": {
        "static": "./static",
        "common": "./src/common",
        "data": "./src/data"
      }
    }],
    ["styled-jsx/babel", { "plugins": ["styled-jsx-plugin-sass"] }],
    "@babel/plugin-proposal-class-properties",
    "@babel/plugin-syntax-dynamic-import"
  ]
}

devDependencies

  "devDependencies": {
    "@babel/cli": "^7.0.0-beta.49",
    "@babel/core": "^7.0.0-beta.49",
    "@babel/plugin-proposal-class-properties": "^7.0.0-beta.49",
    "@babel/plugin-syntax-dynamic-import": "^7.0.0-beta.49",
    "@babel/preset-env": "^7.0.0-beta.49",
    "@babel/preset-flow": "^7.0.0-beta.49",
    "@babel/preset-react": "^7.0.0-beta.49",
    "babel-core": "^7.0.0-0",
    "babel-eslint": "8.2.3",
    "babel-loader": "^8.0.0-beta",
    "babel-plugin-module-resolver": "^3.1.1",
    "clean-webpack-plugin": "^0.1.19",
    "copy-webpack-plugin": "^4.5.1",
    "enzyme": "^3.3.0",
    "enzyme-adapter-react-16": "^1.1.1",
    ...

jest.config.js

module.exports = {
  rootDir: '<rootDir>/../../',
  collectCoverageFrom: ['src/**/*.(jsx|js)'],
  moduleNameMapper: {
    '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
      '<rootDir>/tests/fileMock.js',
  },
  setupTestFrameworkScriptFile: '<rootDir>/tests/setupTests.js',
};

Je le lance avec la commande:

"test": "jest --config tests/jest.config.js",
5
Tomasz Mularczyk

Vous devez avoir à la fois babel-core@^7 et @babel/core@^7 avec babel-jest@latest, essayez d’ajouter 

yarn add babel-jest babel-core@^7.0.0-0

comme mentionné ici https://github.com/facebook/jest/issues/5525 ​​

5
Pavel Hasala

Dans mon cas, il est apparu que j'avais explicitement installé ce paquetage avec npm i -D babel-jest.

0
Tomasz Mularczyk