所以你以为你只需要 `npm install` 吗?再想想

2025-06-07

所以你以为你只需要 `npm install` 吗?再想想

我们张开双臂迎接包锁文件的诞生,它引入了:跨不同环境的确定性安装,以及跨团队协作的强制依赖性期望。

生活真美好!或者说,我当时就想……
如果我对项目package.json文件做了修改,却忘了同时提交锁文件,会发生什么?

Yarn 和 npm 在依赖项安装过程中的行为相同。当它们检测到项目package.json与锁文件之间的不一致时,它们会根据package.json清单通过安装与锁文件中记录的版本不同的版本来补偿这种变化。

这种情况对于构建和生产环境来说可能是危险的,因为它们可能会引入非预期的包版本,并使锁文件的全部好处变得毫无意义。

幸运的是,有一种方法可以通过从锁文件中引用它们来告诉 Yarn 和 npm 遵循指定的一组依赖项及其版本。任何不一致都将中止安装。命令行应如下所示:

  • 如果你使用 Yarn,请运行yarn install --frozen-lockfile
  • 如果你使用 npm runnpm ci

--

我还在一篇文章中写了您应该采用的完整的10 个 npm 安全最佳实践,其中包含一个高分辨率可打印 PDF,如您在下面看到的代码片段。

感谢阅读,也感谢Verdaccio 团队的Juan Picado与我合作。快来看看吧

节点版本

文章来源:https://dev.to/lirantal/so-you-think-youre-just-gonna-npm-install-think-again-lh4
PREV
在办公室举办包容性开发者聚会或活动的分步指南 为什么要举办活动?活动良机来袭! 任务列表:活动前 2-3 周 任务列表:活动前 1 周 任务列表:活动前 3-4 天 任务列表:活动前 2 天 任务列表:活动前一天 任务列表:活动当天 活动启动! 任务列表:活动结束 任务列表:后续/活动后
NEXT
你不是你的代码