gulp服务出错:需要外部模块babel-register

时间:2016-03-06 21:20:58

标签: gulp yeoman babeljs

运行yeoman generator" Webapp",我在运行gulp服务时遇到错误。以下是更好背景的以下版本:

sw_vers && node -e 'console.log(process.platform, process.versions)'
ProductName:    Mac OS X
ProductVersion: 10.11.3
BuildVersion:   15D21
darwin { http_parser: '2.6.0',
  node: '5.2.0',
  v8: '4.6.85.31',
  uv: '1.7.5',
  zlib: '1.2.8',
  ares: '1.10.1-DEV',
  icu: '56.1',
  modules: '47',
  openssl: '1.0.2e' }

node -v
v5.2.0

gulp -v
Requiring external module babel-register
CLI version 3.9.1
Local version 3.9.1

最后gulp服务错误:

gulp serve
Requiring external module babel-register
\node_modules/babel-core/lib/transformation/file/options/option-manager.js:372
      throw new Error("Couldn't find preset " + JSON.stringify(val) + "      relative to directory " + JSON.stringify(dirname));

有人知道问题是什么,有什么建议吗?

以下是我尝试的内容:

npm uninstall gulp 
npm install gulp 
//with global flag and not
npm install --save-dev gulp 
//installing babel-register manually w/wo global flag and --save-dev
npm install babel-register
npm cache clean

另外阅读其他一些有类似问题但没有成功的帖子,其中一些内容如下:

gulp serve: Failed to load external module babel-core/register

Requiring external module babel/register #726

babel was renamed to babel-core #727

Angular-Fullstack Requiring external module babel-register

5 个答案:

答案 0 :(得分:16)

是的,运行npm install --global gulp-cli后我运行gulp -v我已经

Failed to load external module babel-register
Requiring external module babel-core/register
CLI version 1.2.1
Local version 3.9.1

然后我将CLI版本更新到3.9.1(与我本地相同)但它没有帮助。 但当我将CLI版本降级到3.9.0 时,它开始正常工作,并且“无法加载外部模块babel-register”消息不再显示。 看起来像3.9.1是有缺陷的。 运行:

npm install -g gulp@3.9.0

希望它会帮助你。

答案 1 :(得分:2)

也许这会有所帮助。

在您的项目中创建.babelrc,然后输入:

{
  "presets": [
    "es2015"
  ]
}

答案 2 :(得分:0)

我尝试了很多方法,包括

npm install --global gulp
npm install --save-dev gulp 

等安装gulp,但最后通过运行下面的命令找到解决方案,在phpStorm命令行上将gulp改为gulp-cli。

npm install -D babel

答案 3 :(得分:0)

npm install babel-cli babel-preset-es2015

答案 4 :(得分:0)

当我删除并再次在项目目录中安装了与本地版本相同的全局版本时,我帮了大忙,删除并重新安装了babel-register。

sudo npm uninstall -g gulp
npm uninstall gulp
sudo npm install -g gulp@3.9.0
npm install gulp@3.9.0
npm uninstall babel-register
npm install babel-register