Hasty Briefsbeta

双语

"Vendoring" Software

a year ago
  • #dependency-management
  • #software-development
  • #vendoring
  • Vendoring(代码内嵌)是指将其他项目的源代码直接复制到自己项目中的做法。
  • 术语'vendoring'起源于Ruby社区,但已在软件开发中广泛使用。
  • 通过避免复杂的传递依赖问题,vendoring简化了依赖管理。
  • vendoring的主要缺点是传递依赖问题——依赖项的依赖也必须被内嵌。
  • 像NPM这样的依赖管理器解决了传递依赖问题,但会导致项目臃肿和安全风险。
  • vendoring倡导独立文化,减少对外部依赖的过度依赖。
  • 现代依赖管理器可能导致项目臃肿并隐藏风险,例如不必要的polyfill。
  • 知名开发者提倡vendoring或最小化依赖,以提高代码可靠性和安全性。
  • 一些项目(如DaisyUI)已成功将依赖减少到零。
  • 优先vendoring的依赖管理器结合了传统依赖管理和vendoring的优势。