Не удалось найти модуль 'babel-preset-env' из PATH Вы имели в виду "@ babel / env"? - PullRequest
1 голос
/ 10 июня 2019

Jest Cli неожиданно перестал работать, все тесты не пройдены с:

Cannot find module 'babel-preset-env' from '/PATH'
    - Did you mean "@babel/env"?

Я уверен, что это какая-то несовместимость между модулем, который использует babel 6, и моим проектом с babel 7, но я не уверен, как решить эту проблему.

Это package.json

{
  "name": "testing101",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "parcel index.html",
    "test": "jest src/*.js --watchAll",
    "nyc": "nyc ava",
    "build": "babel src/*.js -d dist"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@babel/core": "^7.4.5",
    "@babel/preset-env": "^7.4.5",
    "@types/jest": "^24.0.13",
    "jest": "^24.8.0",
    "nyc": "^14.1.1",
    "parcel-bundler": "^1.7.0"
  },
  "jest": {
    "verbose": true,
    "testURL": "http://localhost:1234/",
    "collectCoverage": true
  },
  "dependencies": {
    "axios": "^0.18.0",
    "nock": "^10.0.6"
  }
}

Это .babelrc

{
  "presets": ["@babel/preset-env"],
  "env": {
    "test": {
      "presets": ["env"]
    }
  }
}

1 Ответ

2 голосов
/ 10 июня 2019

В разделе теста файла .babelrc вы случайно использовали пресет с незаданной областью ("presets": ["env"]).Раньше это было способом сделать это до Вавилона 7 и объема @babel.Более того, поскольку вы уже настраиваете @babel/preset-env как глобальную предварительную настройку, вам не нужно снова определять ее для тестовой среды.Удаление всей конфигурации среды тестирования, как показано ниже, должно решить вашу проблему:

{
  "presets": ["@babel/preset-env"]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...