【问题标题】:NPM: Update all dependencies with scopeNPM:使用范围更新所有依赖项
【发布时间】:2019-05-11 08:57:59
【问题描述】:

是否有更新特定范围内所有包依赖项的快捷方式。

例如,以下package.json 中有没有一种快速的方法来更新具有@example 范围的那些包?:

…
dependencies: {
  alpha,
  bravo,
  @example/a,
  @example/b,
  @example/c,
  @example/d,
  @example/e,
  @example/f,
}

【问题讨论】:

    标签: npm scope package.json


    【解决方案1】:

    我为此写了一个小工具。为 Yarn 项目运行 npx update-by-scope @example,为 Npm 项目运行 npx update-by-scope @example npm install

    【讨论】:

    • 看起来很有用,但请在 README 中添加一些解释。
    【解决方案2】:

    使用纱线:

    yarn upgrade --scope @example
    

    【讨论】:

    • 这很有趣...我认为 yarn fork 已合并回 npm。 Yarn 还有 npm 没有的功能??
    【解决方案3】:

    我使用the npm-check-updates package 更新依赖项——只需全局安装它然后运行ncu。默认情况下,它针对所有包以“检查”模式运行,但您可以传递一个命令行标志,让它将每个包的最新版本写入package.json。它支持过滤,因此您可以将更新仅应用于单个范围,例如 ncu '/@angular\/.*/'

    【讨论】:

      【解决方案4】:

      我在angular 项目中遇到了同样的问题。 我使用package.json 中的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 都更新了。

      希望有用。

      【讨论】:

      • npm update @example/a @example/b ... 不是更好吗?或者 @example/{a,b,...} 如果您的终端允许全局扩展。
      【解决方案5】:

      我偶然发现了这个确切的问题,并且包 npm-check 无缝地解决了这个问题。

      键入npx npm-check -u 并选择要升级的软件包,然后按Enter 继续。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-30
        • 2014-09-26
        • 2018-04-19
        • 1970-01-01
        • 1970-01-01
        • 2022-06-20
        相关资源
        最近更新 更多