更新grunt dev依赖项

时间:2014-08-03 21:12:55

标签: node.js gruntjs npm

我对grunt比较陌生,对节点还不是很熟悉。我有一个样板文件Gruntfile和package.json文件,我在我的所有项目中使用它并根据需要进行修改。当我启动每个项目时,我想更新Dev Dependencies和package.json中的所有Grunt插件,但我不知道一种快速简便的方法。是否可以使用一个命令更新所有模块,还是必须单独执行?

2 个答案:

答案 0 :(得分:18)

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将特定软件包更新为最新版本。

答案 1 :(得分:0)

1。 Сhoice

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

2。相关性

这个答案与2018年2月有关。将来,这个答案的数据可能已经过时了。

本回答的作者于2018年2月亲自使用此插件。

3。论证

请参阅plugin description

  

为什么不使用npm updatenpm install

     

首先 - npm update不适用于dev依赖项,
  第二个 - npm update保留在您的package.json中的semver匹配中   第三,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 not update,浏览器同步更新。

elif semver: false

autoprefixer 浏览器同步更新。