彻底解决Error: Requires Babel “^7.0.0-0“, but was loaded with “6.26.3“. 的问题

问题产生

在babel升级到7以后,按照其官网的要求,安装了babel 7.0相关的包,具体包括@babel/core, @babel/cli, @babel/@babel/preset-env,@babel/plugin-transform-runtime,@babel/plugin-proposal-class-properties, @babel/plugin-transform-classes,具体安装命令如下:

cnpm install -D '@babel/core' '@babel/cli' '@babel/preset-env' '@babel/plugin-transform-runtime' '@babel/plugin-proposal-class-properties' '@babel/plugin-transform-classes' browserify
cnpm install -S  @babel/runtime

升级.babelrc配置文件为:

{
  "presets": ["@babel/preset-env"],
  "plugins": [
    "@babel/plugin-transform-runtime",
    "@babel/plugin-proposal-class-properties",
    "@babel/plugin-transform-classes"
  ]
}

安装后,执行命令将es6代码转换为es5

babel src/ -d build/

命令执行失败,显示错误如下

Error: Requires Babel “^7.0.0-0”, but was loaded with “6.26.3”.If you are sure you have a compatible version of @babel/core, it is likely that something in your build process is loading the wrong version. Inspect the stack trace of this error to look for the first entry that doesn’t mention “@babel/core” or “babel-core” to see what is calling Babel. (While processing preset: “/Users/arthurfontaine/Documents/Lab/opews/parser/node_modules/@babel/preset-env/lib/index.js”)

按照网上提示,又安装了其他相关的包,具体命令如下:

cnpm install -D babel-core@^7.0.0-bridge.0 @babel/core regenerator-runtime 

依旧显示上述错误。继续搜索解决方案,安装新的包,具体如下:

 cnpm install -D jest babel-jest babel-core@^7.0.0-bridge.0 @babel/core

还是没有任何效果。依旧显示上述错误。

问题分析及解决

显然,Babel 7相关的包已经安装,但是6.26.3的包为什么还再起作用?笔者做了一个实验,不再使用全局的babel命令,修改为使用当前项目安装的babel命令,具体如下:

.\node_modules\.bin\babel src -d build

命令执行成功。

之前有同事在全局安装了一个低版本的babel命令,我们虽然更新了当前项目的babel命令,但是没有更新全局的babel命令,所以命令依旧无法执行。

对于webpack报错的情况,我认为道理是一样的。但是由于webpack是默认使用全局babel命令的,所以我们需要升级全局全局的babel命令:

cnpm install -g @babel/core, @babel/cli

全局安装后,babel src -d build命令执行成功。

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值