C++만큼의 빠른 속도와 GC 없이 메모리 관리가 가능한 Rust라는 언어에도 몇가지 단점이 존재합니다.
여러 단점들 중, dependency 부분에 문제가 있습니다.
여러 단점들 중 1개에 대하여 해결하는데 도움이 되는 프로젝트를 소개해보고자 합니다.
무슨 문제?
Rust의 라이브러리들을 해당 라이브러리들이 쓰고 있는 라이브러리인 하위 라이브러리들이 여럿 존재합니다.
현재 프로젝트에 사용되는 dependency들의 하위 dependency들의 버전이 여러 개인 경우, 하나의 라이브러리에 대해여러 버전들을 함께 빌드하여 target 폴더에 저장됩니다.
그러면서, 빌드 속도도 느려지고, 빌드된 파일의 크기가 커지기도 합니다.
이게 그렇게 문제가 돼?

개인 프로젝트가 운영되는 서버에서 용량의 89%가 차지하는 문제가 있었습니다.
불필요한 log파일 등 사용하지 않는 파일들을 전부 제거해도 그렇게 많이 해결되지 않고 계속 증가만 하던 현상이 있었습니다.
여러 방면으로 찾아보던 와중, 더 이상 사용하지 않는 라이브러리들이 target에 빌드되어 있는 상태가 있어 용량이 지워지지 않고 늘어나는 문제였습니다.
해결 방안은 간단했습니다.
cargo clean
후
cargo build --release
프로젝트를 업데이트 하다보면, 라이브러리 버전도 자연스레 업그레이드가 되고, 더이상 사용하지 않는 하위 라이브러리들이 사용되지 않고 target 폴더에 그대로 남는 현상이 지속되게 됩니다.
cargo clean으로 target 폴더를 날리고 다시 빌드하게 되면, 사용하지 않는 라이브러리들이 제거되므로, 용량이 확보가 됩니다.

그래서 프로젝트가 뭔데?
SearchRustLib이라는 프로젝트는, 현재 Cargo.toml에서 사용하고 있는 라이브러리들의 하위 라이브러리들을 모두 확인하여, 같은 하위 라이브러리지만 다른 버전을 사용하고 있는 것들을 모아서 출력해서 보여줍니다.
이러면, 문제가 되는 라이브러리가 무엇인지 확인이 가능하여, 빌드 속도와 용량을 개선할 수 있습니다.
'CS > 개인 프로젝트' 카테고리의 다른 글
| Rust로 만드는 통신 프로그램 (0) | 2026.04.01 |
|---|---|
| Open Source Issue Searcher (0) | 2026.03.11 |
| 간단한 rest api 통신 확인 EasyPost (0) | 2026.03.09 |
| Versatile Web (0) | 2026.03.01 |
| 라이브 멀티뷰 (0) | 2026.02.17 |
댓글