如何更新 grunt devDependencies?
Posted
技术标签:
【中文标题】如何更新 grunt devDependencies?【英文标题】:How to update grunt devDependencies? 【发布时间】:2014-09-26 08:46:25 【问题描述】:我对 grunt 比较陌生,对 node 还不是很熟悉。
我有一个样板 Gruntfile 和 package.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.1
、0.6.2
、0.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 update
或npm 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?的主要内容,如果未能解决你的问题,请参考以下文章