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