如果我运行命令
ng update
I see a listing of items such as
@angular/cdk 6.4.7 > 8.2.0 ng update @angular/cdk
...
...
可能还有其他包已过时。
或者运行 ng update --all 来尝试同时更新所有内容。
ng update 命令本身似乎没有进行任何更改。
那么,执行是否ng update --all
会改变?
我只想查看检测到所有需要更新的软件包。
如果我运行命令
ng update
I see a listing of items such as
@angular/cdk 6.4.7 > 8.2.0 ng update @angular/cdk
...
...
可能还有其他包已过时。
或者运行 ng update --all 来尝试同时更新所有内容。
ng update 命令本身似乎没有进行任何更改。
那么,执行是否ng update --all
会改变?
我只想查看检测到所有需要更新的软件包。
如果您愿意升级到 Angular 的主要版本,您应该参考这个网站:https ://update.angular.io/
Angular 11+:使用包管理器的更新命令:
NPM: npm update
source
YARN: yarn upgrade
source
在角度 11 之前:
在 2020 年初,ng update --all
只需更新所有软件包。
大约在 2020 年末,该--all
标志被弃用:
--all
功能已被删除,ng update
因为不建议一次更新多个包。要更新工作区“package.json”中的依赖关系,请使用包管理器的更新命令
注意:该ng update
命令允许使用附加参数指定由空格分隔的包:
ng update [packages] [options]
查看ng update
命令文档以获取更多信息。
这是因为默认情况下,在ng update
没有任何参数/包的情况下指定的命令将尽可能尝试更新所有包。
这是更新命令的代码部分,它检查是否没有指定包:
if (options.all || packages.length === 0) {
// Either update all packages or show status
return this.runSchematic({
collectionName: '@schematics/update',
schematicName: 'update',
dryRun: !!options.dryRun,
showNothingDone: false,
additionalOptions: {
force: options.force || false,
next: options.next || false,
verbose: options.verbose || false,
packageManager,
packages: options.all ? Object.keys(rootDependencies) : [],
},
});
}
从上面的代码中,这也意味着指定--all
选项或根本不指定任何选项将尝试更新所有包。
注意:您可以查看该命令的完整源代码update
以了解该命令的工作原理。