2016-03-06 564 views
10

运行yeoman生成器“Webapp”,运行gulp服务时出现错误。这里有以下版本的美好背景:gulp服务错误:需要外部模块babel-register

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 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

回答

10

是的,运行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 [email protected] 

希望它会帮助你。

+0

哇。就是这样。 –

2

也许这可以帮助。

创建在您的项目.babelrc,并把这样的:

{ 
    "presets": [ 
    "es2015" 
    ] 
} 
0

我已经尝试了很多方法上面解释,包括

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

等安装一饮而尽的,但最后还是由下面运行发现解决方案命令,它在phpStorm命令行中改变了一些吞咽命令。

npm install -D babel 
+0

尝试了所有这些命令中的3个,但问题仍然存在。 – Travis

0
npm install babel-cli babel-preset-es2015