2012-11-19 71 views
16

咕嚕JS我建立一個咕嚕咕嚕與JavaScript的項目,我有一個的package.json文件看起來是這樣的:安裝包

{ 
    ... name, author, etc here ... 

    "dependencies": { 
     "grunt-html":"0.2.1" 
    } 

} 

我可以運行npm install安裝咕嚕-HTML和這個作品正好。但是當我添加新的依賴關係時,團隊中的所有開發人員都必須知道再次運行npm install。有沒有辦法自動安裝尚未安裝的軟件包?我應該只運行npm install來確保我是最新的?

回答

26

是的npm install是IMO最簡單的方法。讓每個熟悉其他npm命令的人都可以更輕鬆地管理折扣。如:

  • npm ls列出當前安裝的模塊。
  • 還是--save標誌即npm install grunt-html --save安裝並插入包和版本到您的package.json
  • npm prune移除未包含在您的package.json中的模塊。

管理依賴其它方式提交您的存儲庫中的文件夾node_modules以避免不必運行npm install其他開發者。或者對於更復雜的項目,考慮使用npm shrinkwrap將依賴關係鎖定到特定版本:npm shrinkwrap docs

+0

正是因爲這個原因,提交node_modules似乎是個好主意。你對此有何看法? –

+0

根據項目我使用三種方法之一。主要是'npm install',因爲我在一個小團隊中。如果您沒有在代碼中保持密切的選項卡,那麼提交'node_modules'是一個很好的選擇,因爲它有助於防止部署中的網站出現故障。每種方法都有其優點/缺點取決於項目。 –

+0

有沒有一種方法可以「保存」到'package.json'已安裝的軟件包(如果之前沒有使用'--save'標誌運行'npm install')? –

1

我還沒有嘗試過咕嚕安裝依存關係(https://github.com/ahutchings/grunt-install-dependencies),但似乎這可能fullfill您的需求。只需在您的自定義定義的grunt tasts中添加命令install-dependencies作爲第一個任務,例如

grunt.registerTask( '建立',[ '安裝依賴性', 'useminPrepare',...]);

+0

你也可以看看https://github.com/iclanzan/grunt-npm-install – Tvaroh