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"]
}
}
}发布于 2019-06-10 09:02:35
在.babelrc文件的测试部分中,您意外使用了未限定范围的预设("presets": ["env"])。在Babel 7和@babel scope之前,这是以前的方式。更重要的是,由于您已经将@babel/preset-env配置为全局预设,因此不需要为测试环境再次定义它。如下所示删除整个测试环境配置应该可以解决您的问题:
{
"presets": ["@babel/preset-env"]
}发布于 2021-07-06 14:21:25
您可以通过npm进行尝试。
npm install --save-dev @babel/preset-env发布于 2021-07-04 06:10:03
它对我很有效,当我从babel 6.x升级到7.x时,我不得不在.bablerc中将'env‘改为'@babel/preset-env’-谢谢!

https://stackoverflow.com/questions/56519158
复制相似问题