2012-05-01 51 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