本文檔說明了如何安裝指定版本的Grunt和Grunt插件。
Grunt和Grunt插件應(yīng)該作為項(xiàng)目依賴定義在你項(xiàng)目的 package.json 中。這樣就允許你使用一個(gè)單獨(dú)的命令:npm install安裝你項(xiàng)目中的所有依賴(在package.json中定義好的grunt和grunt插件在使用npm install時(shí)會(huì)自動(dòng)安裝相關(guān)依賴,正如我們已經(jīng)了解到的,這些依賴都定義在package.json中了)。當(dāng)前穩(wěn)定的和開發(fā)中的Grunt版本始終都列在wiki頁(yè)面上。
如果你要安裝指定版本的Grunt或者Grunt插件,只需要運(yùn)行npm install grunt@VERSION --save-dev命令,其中VERSION就是你所需要的版本(指定版本號(hào)即可)。這樣會(huì)安裝指定版本的Grunt或者插件,并將它作為你的項(xiàng)目依賴添加到package.json。
注意,當(dāng)你給npm install添加--save-dev標(biāo)志時(shí),一個(gè)波浪線范圍將被用于你的package.json中。通常這么做是很好的,因?yàn)槿绻付ò姹镜腉runt或者插件有更新補(bǔ)丁出現(xiàn)時(shí),它將自動(dòng)升級(jí)到開發(fā)中的版本,與 semver 對(duì)應(yīng)。
通常當(dāng)新功能開發(fā)完成后,Grunt構(gòu)建都可能會(huì)定期被發(fā)布到npm中。沒有顯式指定的版本號(hào),這些構(gòu)建不可能安裝到依賴中,通常它會(huì)有一個(gè)內(nèi)部版本號(hào)或者alpha/beta/指定候選版本號(hào)。
與安裝指定版本的Grunt一樣,運(yùn)行npm install grunt@VERSION --save-dev其中VERSION就是你所需要的版本,同時(shí)npm將會(huì)安裝那個(gè)版本(所指定版本的模塊)的Grunt到你的項(xiàng)目目錄中(通常都會(huì)安裝到nodemodule中),并把它添加到package.json依賴中。
注意,如果你沒有注意指定版本號(hào),都會(huì)有一個(gè)波浪線的版本范圍將被指定到package.json中。這是非常糟糕的,因?yàn)橹付ㄩ_發(fā)版本的模塊都是新的,可能是不兼容的,如果開發(fā)發(fā)布的補(bǔ)丁通過npm被安裝到你的package.json中會(huì)有可能破壞你的構(gòu)建工作。
在這種情況下手動(dòng)的編輯你的package.json是非常重要的,并且你應(yīng)該從package.json中的版本號(hào)中移除~(波浪線)。這樣就會(huì)鎖定你所指定的精確的開發(fā)版本(穩(wěn)定并安裝好的依賴模塊)。
這種方式同樣也可以用于安裝已發(fā)布的開發(fā)版本的Grunt插件。
譯注:通常發(fā)布的開發(fā)版都只是作為源代碼提交到指定的倉(cāng)庫(kù)如Github等,可能并沒有作為npm模塊正式發(fā)布。在使用的過程中,建議按需添加穩(wěn)定版本的依賴模塊。如果你有足夠的信心,也可以嘗試使用最新的未正式發(fā)布的模塊來滿足工作需求。
如果你想安裝一個(gè)最新版的,未正式發(fā)布的Grunt或者Grunt插件,按照說明你可以指定一個(gè) Git URL 作為依賴,注意這里一定要指定一個(gè)實(shí)際提交的SHA(而不是一個(gè)分支名)作為commit-ish。這樣就會(huì)保證你的項(xiàng)目總是使用明確版本的Grunt。
指定的Git URL可能來自于Grunt官方或者分支。
也可以將github上托管的源碼文件下載到本地來安裝。