这是正确的吗? ng update --all 仅显示可用的升级选项?

Eli*_*jah 6 npm angular-upgrade angular

如果我运行命令

ng update

I see a listing of items such as
@angular/cdk  6.4.7 > 8.2.0   ng update @angular/cdk
...
...
Run Code Online (Sandbox Code Playgroud)

可能还有其他已过时的软件包。

或者运行 ng update --all 尝试同时更新所有内容。

ng update 命令本身似乎没有进行任何更改。

那么,执行后是否会发生ng update --all变化呢?

我只想看到所有软件包都被检测到需要更新。

Mat*_*isz 8

如果您愿意升级到 Angular 的主要版本,您应该参考此网站: https: //update.angular.io/

Angular 11+:使用包管理器的更新命令:
NPM:npm update
YARN:yarn upgrade

在角度 11 之前

2020 年初,ng update --all只需更新所有软件包即可。

大约在 2020 年底,该--all标志已被弃用

--all功能已被删除,ng update因为不建议一次更新多个软件包。要更新工作区“package.json”中的依赖项,请使用包管理器的更新命令

  • 对我来说输出:“--all”功能已被删除,因为不建议一次更新多个包。要更新工作区“package.json”中不提供“ng update”功能的包,请改用“npm update”。更新提供“ng update”功能的软件包后,运行软件包管理器 update 命令。 (3认同)

Edr*_*ric 2

注意:该ng update命令允许使用附加参数指定由空格分隔的包:

ng update [packages] [options]
Run Code Online (Sandbox Code Playgroud)

查看ng update命令文档以获取更多信息。


这是因为默认情况下,ng update在没有任何参数/包的情况下指定的命令将尝试更新所有包(如果可能)。

以下是更新命令的代码部分,用于检查是否未指定任何包:

ng update [packages] [options]
Run Code Online (Sandbox Code Playgroud)

从上面的代码来看,这也意味着指定--all选项或根本不指定任何选项都将尝试更新所有包。


注意:您可以查看该命令的完整源代码update以了解该命令是如何工作的。