ng new给出dryRunSink。(...)。concat不是函数错误

时间:2018-01-12 22:07:06

标签: angular angular-cli

我正在尝试创建一个新的角度项目。我按照本网站提到的步骤进行操作。 https://github.com/angular/angular-cli

当我尝试使用ng new命令创建新项目时,我收到错误。

E:\Code\> ng new some-name
Error: dryRunSink.commit(...).ignoreElements(...).concat is not a function
dryRunSink.commit(...).ignoreElements(...).concat is not a function

以下是ng serve

的结果
Angular CLI: 1.6.4
Node: 6.11.4
OS: win32 x64

修改:看起来每个人都会遇到此错误。 https://github.com/angular/angular-cli/issues/9194

8 个答案:

答案 0 :(得分:9)

以下是git问题的链接:https://github.com/angular/devkit/issues/380

解决方案(临时解决方案,直到他们解决问题): 将以下行添加到package.json可以解决问题

"@angular-devkit/schematics":"0.0.42", 
"@angular-devkit/core": "0.0.23", 

要创建新项目,请运行以下命令

npm i @angular-devkit/schematics@0.0.45 @angular/cli --no-save

这些解决方案在git问题中提供,

答案 1 :(得分:3)

尝试删除Angular CLI并重新重新安装:

$  npm uninstall @angular/cli
$  npm cache clean
$  npm install -g @angular/cli@latest

确保您拥有最新版本。如果问题仍然存在,请尝试更新Node版本(6.11.4有点旧)。您可以使用nvm更新节点版本。从here下载并安装软件包,然后运行

$  nvm install 8.9.0 // for example, you can have another version
$  nvm use 8.9.0 // or the version you have installed

如果此STILL仍然存在,我们可以假设@angular/cli存在问题。您可以尝试降级它。再次删除它然后

$  npm install -g @angular/cli@1.1.2 // for example

答案 2 :(得分:2)

我在这里遇到了同样的问题,只是修复了@ angular / cli 1.6.5

$ npm uninstall @angular/cli
$ npm cache clean
$ npm install -g @angular/cli@latest

在我的项目文件夹中:

$ rm -rf node_modules dist
$ npm install --save-dev @angular/cli@latest
$ npm install

现在我可以正常生成项目,组件等

答案 3 :(得分:1)

  

状态

     

此问题已在1.6.6版中得到解决。

     

正在更新

     

将环境更新为包含最新版本的步骤   修复:

npm uninstall -g @angular/cli
npm cache clean
# if npm version is > 5 then use `npm cache verify` to avoid errors (or to avoid using --force)
npm install -g @angular/cli@latest

rm -rf node_modules dist # use rmdir /S/Q node_modules dist in Windows Command Prompt; use rm -r -fo node_modules,dist in Windows PowerShell
npm install --save-dev @angular/cli@latest
npm install    
     

解释

     

[rxjs operator]的问题不是函数的结果   将devkit repo迁移到使用" pipeable" (以前" lettable")   运算符而不是Angular的原型修补方法   CLI在1.6.6版本(刚刚发布)之前使用。该   修复它的提交在这里。

     

问题是CLI使用的是未导入的运算符   并依赖它们在Observable对象上。当devkit是   更新它删除了此功能,并暴露了CLI中的错误。   最新版本的CLI现在使用可管理的运算符和   因此导入需要使用的所有操作员   可观察的,所以这个问题已经解决了。

Brocco的解释:
https://github.com/angular/angular-cli/issues/9194#issuecomment-360615868

答案 4 :(得分:0)

似乎是@ angular / cli @ 1.6.4的问题

我回去了几个版本,最后似乎工作的是1.3.2,所以:

尝试卸载并安装1.3.2

$ npm uninstall -g @angular/cli $ npm cache clean $ npm install -g @angular/cli@1.3.2

使用以下方式验证您安装的版本:

$ ng -v

答案 5 :(得分:0)

我在安装此软件包时进行了以下更改:

"@angular-devkit/build-optimizer": "0.0.36",
"@angular-devkit/core": "0.0.22",
"@angular-devkit/schematics": "0.0.42",
"@schematics/angular": "^0.1.11",
"@schematics/schematics": "0.0.11"

现在可以使用了

My Configuration

答案 6 :(得分:0)

On angular / cli 1.6.4我得到了“错误:dryRunSink.commit(...)。ignoreElements不是函数”

最新版本修复了@ angular / cli:1.6.5,您可以通过运行以下命令来检查它:

npm uninstall @angular/cli
npm install -g @angular/cli@latest

一定要安装dev,这样你就可以运行npm start(ng serve)之类的东西,并通过安装来运行你的proyect:

npm install --save-dev @angular/cli@latest

对我来说很棒。

答案 7 :(得分:0)

下面的命令对我有用。

CMD : npm install @angular-devkit/schematics@0.0.45 @angular/cli --no-save