2012-11-19 49 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