使用ng new创建Angular项目时出现dryRunSink.concat不是函数错误
解决Angular CLI创建项目时
dryRunSink.commit(...).ignoreElements(...).concat is not a function错误 嘿,这个问题我之前帮不少开发者解决过,在Angular CLI 1.6.x搭配Node 6.x的环境下确实很常见,本质是RxJS版本兼容导致的,给你几个靠谱的解决办法:
方法一:升级Angular CLI到兼容版本
这是最彻底的解决方案,官方在后续版本里修复了这个兼容bug:
- 先全局卸载旧版本的CLI:
npm uninstall -g @angular/cli - 清理npm缓存,避免残留的旧包影响:
npm cache clean --force - 安装适配Node 6.x的CLI版本(比如1.7.4,亲测有效):
npm install -g @angular/cli@1.7.4 - 完成后再执行
ng new some-name,就能正常创建项目了。
方法二:临时绕过dry-run检测
如果暂时不想升级CLI,也可以直接跳过预检测环节来避开报错:
ng new some-name --dry-run=false
这个参数会直接执行项目创建流程,跳过dry-run的预校验,就能绕开这个问题。
补充说明
这个报错的核心原因是Angular CLI 1.6.x中使用的RxJS操作符调用方式,在Node 6.x的环境下存在语法兼容问题,concat方法的调用不符合旧版RxJS的规范。升级到1.7.x及以上版本的CLI,就能从根源上解决这个问题。
内容的提问来源于stack exchange,提问作者fhnaseer
相关产品推荐
相关产品推荐

