【发布时间】:2019-05-31 14:52:29
【问题描述】:
我正在尝试在 ES6 项目中设置 Jest。没走多远,因为我一运行jest,就开始遇到问题。
.babelrc
{
"presets": [
"@babel/env"
]
}
上面运行 Jest 时会抛出 Couldn't find preset "@babel/env" relative to directory 错误。我猜这很好,因为无论哪种方式都应该是@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 替换全局包,但没有任何区别。
我可能在这里遗漏了什么?
【问题讨论】: