如何更新 grunt devDependencies?

Posted

技术标签:

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

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

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

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

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

谢谢。

【问题讨论】:

【参考方案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 outdated:https://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 浏览器同步更新两者。

【讨论】:

以上是关于如何更新 grunt devDependencies?的主要内容,如果未能解决你的问题,请参考以下文章

将Grunt更新用于自定义任务

如何在启动更新版本的应用程序时清除浏览器缓存?

Grunt contrib sass NoMethodError:未定义的方法`<

Grunt-Grunt使用

Grunt-Grunt使用

Grunt 错误:找不到模块“time-grunt”