我正在尝试在一个ES6项目中设置Jest。但是由于一旦我运行jest
就遇到了问题,所以没有取得什么进展。
.babelrc
{
"presets": [
"@babel/env"
]
}
上述代码在运行Jest时会抛出一个错误,内容为“在目录中找不到预设'@babel/env'”。不过这应该没关系,因为无论如何都应该是
@babel/preset-env
? (使用我的其他设置两个都有效...)
但是!当我将预设更改为@babel/preset-env
时,我收到的错误非常令人困惑:
需要Babel "^7.0.0-0",但加载的是"6.26.3"。如果您确定已经安装了兼容版本的@babel/core,则很可能是构建过程中加载了错误的版本。检查此错误的堆栈跟踪以查找第一个不提及"@babel/core"或"babel-core"的条目,以查看谁在调用Babel。(处理预设时:“/Users/.../node_modules/@babel/preset-env/lib/index.js”)
这非常奇怪,因为我的Babel和Jest的devDeps设置为:"devDependencies": {
"@babel/core": "^7.2.0",
"@babel/preset-env": "^7.2.0",
"@babel/register": "^7.0.0",
"babel-jest": "^23.6.0"
}
据我所知,那个错误信息根本没有任何意义。我的下一个想法是检查全局Babel CLI安装,它是
babel-cli@6.26.0
。更接近了,但它不是错误信息中所述的6.26.3
。我还尝试用最新的@babel/cli
替换全局包,但没有任何区别。我可能错过了什么?