Angular CLI版本与;角核版本?

Angular CLI版本与;角核版本?,angular,command-line-interface,angular-cli,Angular,Command Line Interface,Angular Cli,有没有办法知道要安装哪个Angular CLI版本与我的Angular Core版本兼容?他们完全独立吗 在使用Core v5.2.8的现有Angular应用程序上工作时,我看到他们使用CLI v6.0.8,所以我想知道我们应该使用哪个版本的CLI Angular CLI和Angular Core之间的兼容性没有记录 人们通常会使用全局安装。但是,这可能会导致与旧项目不一致 包.json中的版本应始终兼容 要确保运行本地版本,请执行以下操作: npm运行--ng生成组件foo 与此相反: ng生

有没有办法知道要安装哪个Angular CLI版本与我的Angular Core版本兼容?他们完全独立吗

在使用Core v5.2.8的现有Angular应用程序上工作时,我看到他们使用CLI v6.0.8,所以我想知道我们应该使用哪个版本的CLI


Angular CLI和Angular Core之间的兼容性没有记录

人们通常会使用全局安装。但是,这可能会导致与旧项目不一致

包.json中的版本应始终兼容

要确保运行本地版本,请执行以下操作:

npm运行--ng生成组件foo

与此相反:

ng生成组件foo

然后它将始终使用本地版本

纱线通过所有参数,因此不需要丑陋的注释:

纱线运行ng生成组件foo

一个很好的例子是Angular如何处理服务DI。 而在以前的版本中,有必要将每个服务作为提供者添加到应用程序模块中

这在第6版中已更改,因此这实际上非常相关:

在v6和更高版本的Angular中,
@Injectable
装饰器进行了扩展,其功能导致了不同的样板文件:

之前:

@Injectable()
之后:

@Injectable({
  providedIn: 'root'
})
从而消除了将所有服务添加到应用程序模块中的必要性


因此,从CLI v6创建服务产生了一个与v5不兼容的模板。

@downvoter这将很好地解释问题所在。如果包不同步,您将收到折旧警告或版本不匹配错误。这应该可以回答您的问题。要“安装一个版本”的核心模块,只需使用
ng new XXX
创建一个新项目,CLI将处理依赖项。@Trichetrich这个问题实际上是有根据的,因为不同版本的CLI做不同的事情可能会导致问题,尤其是在majors@trichetriche这是合乎逻辑的,因为没有关于cli和core之间兼容性的工具或文档。