【问题标题】:How to update grunt devDependencies?如何更新 grunt devDependencies?
【发布时间】:2014-09-26 08:46:25
【问题描述】:

我对 grunt 比较陌生,对 node 还不是很熟悉。

我有一个样板 Gruntfilepackage.json 文件,我在所有项目中都使用它们并根据需要对其进行修改。

当我开始每个项目时,我想更新 devDependencies 和 package.json 中的所有 Grunt 插件,但我不知道有一种快速简便的方法来做到这一点。

是否可以使用一个命令更新所有模块,还是必须单独更新?

谢谢。

【问题讨论】:

    标签: node.js gruntjs npm


    【解决方案1】:

    在您的package.json 中,您可以使用一系列要安装的版本标记每个依赖项,然后键入npm install 以在给定版本中安装所有列出的依赖项:

    只安装0.6.0:

    {
      "devDependencies": {
        "grunt-contrib-watch": "0.6.0"
      }
    }
    

    ~ 为前缀以安装最新的补丁 版本0.6.x:
    随着0.6.10.6.20.6.3 等版本的发布,npm install 将安装这些版本的最新版本。如果0.7.0 已发布,则不会安装该版本(通常是一个好的策略,因为它可能包含重大更改)。

    {
      "devDependencies": {
        "grunt-contrib-watch": "~0.6.0"
      }
    }
    

    明确设置范围:
    您可以使用><<=>= 来显式设置版本范围。自定义范围的另一个好选择,或者如果您想明确说明您的版本范围。以下将安装大于或等于0.6.0但小于1.0.0的每个版本:

    {
      "devDependencies": {
        "grunt-contrib-watch": ">= 0.6.0 < 1.0.0"
      }
    }
    

    始终使用 * 安装最新版本
    或者,如果您总是想要最新版本,请使用 *:

    {
      "devDependencies": {
        "grunt-contrib-watch": "*"
      }
    }
    

    在 npm 文档中查看有关版本范围的更多信息:https://www.npmjs.org/doc/misc/semver.html


    npm outdated
    如果您想查看哪些依赖项已过期,请使用npm outdatedhttps://www.npmjs.org/doc/cli/npm-outdated.html


    npm update
    使用npm update 将所有依赖项更新到最新版本。或npm update packagename anotherpackage 将特定软件包更新到最新版本。

    【讨论】:

    • 我不知道“*”命名法。这解决了问题。谢谢。
    【解决方案2】:

    1。选择

    grunt-dev-update 插件——是我的选择。


    2。相关性

    此答案与 2018 年 2 月相关。将来,此答案中的数据可能会过时。

    这个答案的作者在 2018 年 2 月亲自使用了这个插件。


    3。论证

    plugin description:

    为什么不使用npm updatenpm install

    首先 — npm update 不适用于开发依赖项,
    第二——npm update 留在你的 semver 中,匹配你的 package.json,
    第三——npm 不像你的繁重任务那样自动化。


    4。用法

    official plugin description 中描述了安装、使用说明和选项。


    5。 option.semver

    奇怪的选项名称;我一开始不明白,options.semver是什么。

    示例配置:

    Package name    : autoprefixer
    Package type    : devDependencies
    Current version : 6.7.7
    Wanted version  : 6.7.7
    Latest version  : 8.0.0
    
    Package name    : browser-sync
    Package type    : devDependencies
    Current version : 2.23.5
    Wanted version  : 2.23.6
    Latest version  : 2.23.6
    

    你在控制台中运行grunt devUpdate

    如果 semver: true:

        autoprefixer 未更新,浏览器同步更新。

    elif semver: false:

        autoprefixer 浏览器同步更新两者。

    【讨论】:

      猜你喜欢
      • 2018-04-08
      • 2012-04-21
      • 2013-06-17
      • 1970-01-01
      • 1970-01-01
      • 2016-01-07
      • 2014-05-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多