Rust提案: 优化项目依赖管理,控制空间无序扩张

Rust优化编译出来的可执行文件的大小

目前 很多项目依赖了大量外部库, 在执行cargo clippy等操作后, 项目体积甚至会膨胀100倍. 而且所用到的相关依赖都在target目录下,这样无法复用,实际造成了空间浪费 —- 例如我本地有10个Rust项目,都有用到tokio(假设其中3个用tokio v1.0, 另外7个用tokio v1.1), 如果能把用到的依赖,放在一个公用的目录,那这样只需要存放2个不用版本的tokio, 整台机器上能节省下 大约8个tokio体积大小的空间.

另外,更深层次的问题,Rust中很多较基础功能需要依赖外部库,而外部库又有很多依赖,最终实现一个很小的功能, 整个项目都需要引入大量代码—-庞大到几十万甚至更多,超出人力所能阅读和熟悉的可能. 在木马和恶意攻击愈发猖獗的今天,很可能会背离Rust为安全而生的初衷,造成潜在的攻击和安全隐患.

https://vincents.dev/blog/rust-dependencies-scare-me/

文章目录