2012-05-01 32 views

回答

2

我觉得这样的工具似乎过于严厉时,你需要做的,递增的Node.js版本号的唯一的事情是什么简单:

sed -i 's/0.1.2/0.2.4/' package.json 

会改变的版本为您Node.js包?

如果你正在谈论的是当你明确标记新版本时会部署你的代码,我更倾向于使用git hooks并编写脚本来检测何时创建了git标记,然后开始部署处理。

您可以使用pre-applypatch钩子来检测何时创建标签以运行上面列出的sed脚本并自动为您运行npm publish,但是我再次看不到让重量级工具处理所有当它是一个简单的脚本了(并且所述脚本也可以用Node.js写)!

+0

我不会使用'sed'调用改变版本,因为字符串'0.1.2'可能出现的依赖关系。最好是解析JSON,然后执行'.version =“0.2.4”'然后进行串化。 –

+0

是和不是。您可能应该使用完整限定,''version:“0.1.2”,''但由于''package.json''格式已经完全定义,并且''version''字段在定义中是明确的,所以我不会看不到完整的JSON解析和字符串化的要点。 –

0

grunt-bump提供版本碰撞,以及git标记/提交/推送。其他构建工具也有类似的包,如gulp-bump

类似的功能现在也可用于npm version,但配置选项较少。

1

我认为最正确的答案是使用npm version

例如,为了增加你的软件包的主要版本:

npm version major 

这会增加你的包的主要版本,如果它是一个Git仓库也将致力于这种改变和创造的标签版本的同名。

跟进:

git push 
git push --tags