Rust

[Rust] 2. 패키지 관리자(Cargo)

comnic 2023. 12. 1. 08:04
반응형

2. 패키지 관리자(Cargo)

2.1 Cargo 소개

Cargo는 Rust 언어의 공식 패키지 매니저 및 빌드 도구로, Rust 프로젝트를 효과적으로 관리하고 라이브러리를 쉽게 추가할 수 있도록 도와줍니다. 주요 기능으로는 패키지 관리, 빌드, 테스트, 문서 생성 등이 있습니다.

패키지 관리

Rust 프로젝트의 종속성은 Cargo.toml 파일에서 관리됩니다. 각 패키지의 이름과 버전은 해당 파일에 명시되어 있으며, cargo build 명령어를 실행하면 이러한 종속성이 자동으로 관리되고 빌드됩니다.

간략히 정리하면 아래와 같습니다.

  1. 패키지 관리자: Cargo는 Rust 프로젝트의 종속성을 관리하고 외부 라이브러리를 쉽게 추가할 수 있게 해줍니다. Cargo.toml 파일에 종속성을 명시하면, Cargo가 이를 자동으로 관리하여 필요한 라이브러리를 다운로드하고 빌드합니다.
  2. 빌드 시스템: Cargo는 Rust 프로젝트를 빌드하는 강력한 도구입니다. cargo build 명령어를 통해 프로젝트를 빌드하면, 종속성 및 소스 코드를 컴파일하고 실행 파일을 생성합니다.
  3. 테스트 지원: Rust에서는 테스트가 중요한 역할을 합니다. Cargo는 테스트를 위한 프레임워크를 내장하고 있으며, cargo test 명령어를 사용하여 프로젝트의 테스트를 실행할 수 있습니다.
  4. 도큐먼트 생성: Cargo는 코드에 대한 문서를 생성하고 관리하는 기능도 제공합니다. cargo doc 명령어를 통해 코드 주석을 기반으로 자동으로 문서를 생성할 수 있습니다.
  5. 빌드 구성 및 환경 설정: Cargo.toml 파일은 Rust 프로젝트의 구성을 정의하는 중요한 파일입니다. 이 파일에서 프로젝트의 이름, 버전, 종속성, 빌드 설정 등을 관리할 수 있습니다.
  6. 코드 실행 및 배포: Cargo는 빌드된 프로젝트를 실행하거나, cargo run 명령어를 사용하여 프로젝트를 편리하게 실행할 수 있는 기능을 제공합니다. 또한, cargo publish 명령어를 사용하여 Rust의 패키지 레지스트리에 프로젝트를 배포할 수 있습니다.

 

2.2 Cargo 사용법

1. 프로젝트 생성

# 새로운 Rust 프로젝트 생성
cargo new my_project
cd my_project

위 명령어를 실행하면, my_project라는 디렉토리에 Rust 프로젝트의 기본 구조가 생성됩니다.

2. 패키지 추가

Cargo.toml 파일을 열어 종속성을 추가합니다.

[dependencies]
rand = "0.8.5"

여기서는 rand 라이브러리를 추가했습니다.

3. rust 예제 파일 작성

src/main.rs 파일을 열어 간단한 Rust 예제 코드를 작성합니다.

use rand::Rng;

fn main() {
    let random_number = rand::thread_rng().gen_range(1..101);
	println!("Random number: {}", random_number);
}

위 코드는 간단히 랜덤한 숫자를 생성해서 출력하는 프로그램입니다.

4. 빌드 및 실행

# 프로젝트 빌드
cargo build

# 빌드된 프로젝트 실행
cargo run

코드를 수정하거나 새로운 종속성을 추가한 경우에는 다시 cargo build 명령으로 빌드한 후, cargo run 명령으로 실행합니다.


5. 테스트

Rust에서는 테스트가 중요하므로, 간단한 테스트도 추가해봅시다. src/main.rs 파일에 아래 코드를 추가합니다.

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn test_random_number() {
        let random_number = rand::thread_rng().gen_range(1..101);
        assert!(random_number >= 1 && random_number <= 100);
    }
}

그리고 터미널에서 다음 명령어로 테스트를 실행합니다.

# 프로젝트 테스트 실행
cargo test

 

6. 문서 생성

# 코드 주석을 기반으로 문서 생성
cargo doc

생성된 문서는 target/doc 디렉토리에 저장됩니다.

위와 같이 실행되며, 해당 디렉토리(target/doc)에는 아래와 같은 파일들이 생성된 것을 알 수 있습니다.

위 파일 중 help.html 파일을 브라우저에서 열면 아래와 같은 화면이 나옵니다.

이번 챕터에서는 cargo에 대해 소개하고 간단히 사용법을 알아봤습니다. doc에 대한 자세한 얘기는 다른 챕터에서 다룰 수 있도록 준비하겠습니다.

반응형