Node.js 如何将所有作用域包升级到特定的标记版本?

Node.js 如何将所有作用域包升级到特定的标记版本?,node.js,npm,yarnpkg,Node.js,Npm,Yarnpkg,我想将所有作用域包升级到特定标记 前 假设我从某个范围安装了多个软件包@scope/pkg1,@scope/pkg2等。所有包都有多个标签,而不是最新的,如稳定的。有没有办法将scope@scope中的pkg1和pkg2升级到stable 以下仅适用于最新版本 yarn upgrade -S @scope --latest 但上述命令不适用于其他标记,如stable。我们当然可以一个接一个地做,就像 yarn upgrade -S @scope/pkg1@stable 有没有办法,我可以将特

我想将所有作用域包升级到特定标记

假设我从某个范围安装了多个软件包<代码>@scope/pkg1,
@scope/pkg2
等。所有包都有多个标签,而不是
最新的
,如
稳定的
。有没有办法将scope
@scope
中的
pkg1
pkg2
升级到
stable

以下仅适用于最新版本

yarn upgrade -S @scope --latest
但上述命令不适用于其他标记,如
stable
。我们当然可以一个接一个地做,就像

yarn upgrade -S @scope/pkg1@stable

有没有办法,我可以将特定范围内的所有包升级到特定的标记版本。

让我提出以下shell脚本:

#!/usr/bin/env bash

cat ./package.json \
  | jq -r '.dependencies | keys | .[]' \
  | grep '@scope/' \
  | while read -r dep; do yarn upgrade -S "${dep}@stable"; done

谢谢@alexander alexandrov,我编写了一些Node.js代码来让它工作。