运行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
答案 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