如何最好地自动部署依赖NPM的项目?

时间:2015-04-28 02:56:02

标签: node.js deployment npm composer-php production-environment

我曾经根据Composer(PHP的NPM cousing)部署代码,这些代码包含体育.json.lock文件。第一个描述了包和版本约束,第二个列出了安装的内容。总是有一个锁定文件,你运行composer install你确定收到同一套包裹;运行composer update将重新读取json文件,安装新版本并更新锁定文件。

这对于生产部署来说非常棒,因为您不需要检查您的版本控制系统的依赖关系,并且您确保在生产环境中拥有完全相同的依赖关系集。发展。

我的问题是:如何最好地自动部署与NPM相关的代码?是否有可能实现类似于Composer的方法?我注意到npm install仅安装package.json文件中首次提供的内容。在第一次运行之后,即如果您更改了版本约束,则必须手动npm update该程序包 - 这会使自动部署无效,因为无法检入版本控制"更新此打包到新版本" ...

1 个答案:

答案 0 :(得分:0)

npm shrinkwrap是composer.lock文件的模拟。它将生成一个npm-shrinkwrap.json,其中包含所有带有版本的deps,因此您可以使用它来部署到生产环境。此外,您可以尝试从npm到lock版本的各种库,或者在不更改packages.json的情况下搜索updates