【问题标题】:NPM - what is the common practice to manage dependencies during production deployNPM - 在生产部署期间管理依赖项的常见做法是什么
【发布时间】:2016-06-16 10:12:06
【问题描述】:

我们有一个使用 webpack 和 npm 来管理依赖项的前端项目。

当我们连接到 jenkin 以将部署过程自动化到 testproduction 时,我们会执行以下操作:-

  1. rm -rf node_modules/
  2. npm install --production
  3. 构建前端工件

每次删除 node_modules 并重新安装所有内容的正确方法吗?

我们曾经使用npm update,但在构建失败时遇到了几次依赖问题,因此我们切换到删除 node_modules 并在每次部署中重新安装所有内容。

我觉得我们在那里做了额外的工作,我想知道这种情况下的常见做法是什么。

谢谢

【问题讨论】:

    标签: npm webpack package.json


    【解决方案1】:

    Npm update 旨在更新软件包的版本,而不是安装任何缺少的依赖项。

    当您的node_modules 文件夹中已有一些软件包时运行npm install 将在您的package.json 文件中安装任何未安装的软件包。

    另外,我建议设置shrinkwrap file 以确保所有机器上的依赖项版本相同。

    【讨论】:

    • 是的,我知道npm updatenpm install 之间的区别。但是部署期间的常见做法是什么?你两个都跑吗?就我而言,我基本上删除了所有node_modules 并重新开始。我想知道其他人是如何以自动化方式进行的。
    • 另外,shrinkwrap 文件是供模块作者锁定版本的吗?我说的对吗?
    • shrinkwrap 应该只用于应用程序,而不是库。您是库还是应用程序的作者?
    • 一个应用程序。好的,那么让我稍微研究一下shrinkwrap。我遇到的问题是有时有人在 package.json 中添加新东西或修改包版本,他们可能在不同的节点版本上。它有时会破坏构建。我想知道解决这个问题的最佳方法是什么。
    猜你喜欢
    • 2010-12-01
    • 1970-01-01
    • 2011-11-27
    • 1970-01-01
    • 2021-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多