是否有快捷方式更新特定范围内的所有包依赖项。例如,在下面的package.json中有没有一种快速的方法可以 * 仅 * 更新那些具有@example作用域的软件包?
package.json
@example
… dependencies: { alpha, bravo, @example/a, @example/b, @example/c, @example/d, @example/e, @example/f, }
pkmbmrz71#
我偶然发现了这个确切的问题,包npm-check无缝地完成了这个任务。键入npx npm-check -u并选择要升级的软件包,然后按Enter键继续。
npx npm-check -u
czfnxgou2#
不幸的是,在Yarn的最新版本中删除了yarn upgrade,而是使用yarn up '@scope/*',它会将每个package.json文件中以@scope/开头的每个包升级到最新版本,请参见these docs,这也避免了安装升级插件或使用upgrade-interactive,后者不支持模式匹配
yarn upgrade
yarn up '@scope/*'
@scope/
stszievb3#
我为此编写了一个小工具。为Yarn项目运行npx update-by-scope @example,为Npm项目运行npx update-by-scope @example npm install
npx update-by-scope @example
npx update-by-scope @example npm install
2g32fytz4#
我使用the npm-check-updates package更新依赖项--只需要全局安装它,然后运行ncu。默认情况下,它对所有软件包运行在“check”模式下,但是您可以传递一个命令行标志,让它将每个软件包的最新版本写入package.json。它支持过滤,因此您可以将更新仅应用于单个范围,如ncu '/@angular\/.*/'。
npm-check-updates
ncu
ncu '/@angular\/.*/'
inn6fuwd5#
使用Yarn:
yarn upgrade --scope @example
mo49yndu6#
我在angular项目中也有同样的问题。我使用package.json中的script部分。我将custom name(例如update-scope)设置为key,并将命令设置为value。
angular
script
custom name
update-scope
key
value
"scripts": { "ng": "ng", "build": "node package-builder", "update-scope": "npm update @example/a && npm update @example/b && ..." }
然后使用以下命令运行custom name:
npm run update-scope // `update-scope` is my custom name
最后,更新了my scope中的所有my packages。希望有用。
my scope
my packages
6条答案
按热度按时间pkmbmrz71#
我偶然发现了这个确切的问题,包npm-check无缝地完成了这个任务。
键入
npx npm-check -u
并选择要升级的软件包,然后按Enter键继续。czfnxgou2#
不幸的是,在Yarn的最新版本中删除了
yarn upgrade
,而是使用yarn up '@scope/*'
,它会将每个package.json文件中以@scope/
开头的每个包升级到最新版本,请参见these docs,这也避免了安装升级插件或使用upgrade-interactive,后者不支持模式匹配stszievb3#
我为此编写了一个小工具。为Yarn项目运行
npx update-by-scope @example
,为Npm项目运行npx update-by-scope @example npm install
2g32fytz4#
我使用the
npm-check-updates
package更新依赖项--只需要全局安装它,然后运行ncu
。默认情况下,它对所有软件包运行在“check”模式下,但是您可以传递一个命令行标志,让它将每个软件包的最新版本写入package.json
。它支持过滤,因此您可以将更新仅应用于单个范围,如ncu '/@angular\/.*/'
。inn6fuwd5#
使用Yarn:
mo49yndu6#
我在
angular
项目中也有同样的问题。我使用package.json
中的script
部分。我将
custom name
(例如update-scope
)设置为key
,并将命令设置为value
。然后使用以下命令运行
custom name
:最后,更新了
my scope
中的所有my packages
。希望有用。