【Rust日报】2024-04-02 如何编写一个既是 bin 又是 lib 的项目
💡
原文中文,约1300字,阅读约需4分钟。
📝
内容提要
本文讨论了在Rust项目中同时包含lib.rs和main.rs文件的技巧,使得一个包既可以是库又可以是二进制文件。作者尝试使用Cargo的optional dependencies和features来实现依赖分离,但效果不如预期。最终建议创建两个独立的包,一个用于库,一个用于二进制文件。
🎯
关键要点
- 文章讨论了Rust项目中同时包含lib.rs和main.rs文件的技巧。
- 该技巧使得一个包既可以是库(lib)又可以是二进制文件(bin)。
- 尝试使用Cargo的optional dependencies和features来实现依赖分离,但效果不如预期。
- default features可能会影响库的用户体验。
- 建议创建两个独立的包,一个用于库,另一个用于二进制文件,以便为两者设置不同的特性和依赖。
- Cargo团队意识到这个问题,并有一些提案正在准备中。
- 如果不是为了尝试新方法,最好还是创建两个包。
➡️