컴퓨터에서는

[ Rust ] 초급 문법 : 18. 패키지와 크레이트 (cargo, extern crate) – 프로젝트 관리 및 외부 라이브러리 사용

컴 여행자 2025. 6. 26. 15:28
728x90
반응형

 

러스트
러스트

 

 

초급 문법 : 18. 패키지와 크레이트 (cargo, extern crate) – 프로젝트 관리 및 외부 라이브러리 사용

 

 


📦 1단계: "패키지"와 "크레이트"란?

 

용어 설명
패키지(Package) 하나 이상의 **크레이트(Crate)**를 포함할 수 있는 프로젝트 단위입니다. 보통 하나의 프로젝트는 하나의 크레이트를 가지고 있어요.
크레이트(Crate) 실제로 컴파일되는 코드 단위입니다.
라이브러리 크레이트 다른 크레이트에서 가져다 쓸 수 있는 공용 코드 모음입니다.
바이너리 크레이트 main 함수가 있고 실행 가능한 프로그램입니다.

 

우리는 보통 cargo라는 도구를 사용해서 패키지를 만들고, 크레이트를 관리하고, 실행하고, 외부 라이브러리를 추가합니다.

 


🛠 2단계: VS Code로 새 패키지(프로젝트) 만들기

 

📁 새 프로젝트 만들기

우선 새 프로젝트를 만들어야 합니다.

 

1️⃣ 터미널 열기

  • VS Code를 실행하고, Ctrl + ~ (물결표) 키를 눌러 터미널을 엽니다.
  • 또는 메뉴에서 [터미널] → [새 터미널] 선택하세요.
  • 터미널이 이미 열려 있으면, 열려 있는 터미널을 이용하세요.

2️⃣ 새 Rust 프로젝트 생성

  • 새로운 Rust 프로젝트를 만들 폴더로 이동 (예: C:\RustProjects)
cd C:\RustProjects

 

  • 터미널에 아래 명령을 입력하고 Enter 키를 누릅니다.
  • rust_crate 라는 폴더가 생성됩니다.
cargo new rust_crate

 

 

3️⃣ 프로젝트 열기

  • VS Code에서 [파일] → [폴더 열기] 선택 후 rust_crate 폴더를 엽니다.

4️⃣ 메인 파일 열기

  • 왼쪽 src 폴더에서 main.rs 파일을 클릭하여 엽니다.

 

 


📂 3단계: 기본 프로젝트 구조 이해하기

rust_crate 폴더 구조는 다음과 같습니다:

rust_crate/
├── Cargo.toml      ← 패키지 정보 (이 파일이 매우 중요!)
└── src/
    └── main.rs     ← main 함수가 있는 실행 코드

 

  • Cargo.toml은 패키지 이름, 버전, 외부 크레이트 정보를 적는 파일입니다.
  • src/main.rs는 프로그램이 시작되는 곳입니다.

✅ 4단계: 실행해보기

Ctrl + S 를 눌러 파일을 저장합니다. (또는 메뉴 -> 파일 -> 저장) 

Ctrl + ~ (물결표) 키를 눌러 터미널을 엽니다.

 

터미널에서 다음을 실행합니다.

cargo run

 

출력:

Hello, world!

📚 5단계: 외부 크레이트 사용하기 – 예제: rand (랜덤 숫자 생성)

 

우리는 rand라는 외부 크레이트(라이브러리)를 추가해보겠습니다.

 

5-1️⃣ Cargo.toml 수정

[dependencies]
rand = "0.8"

이 파일은 프로젝트에 어떤 외부 크레이트를 사용할지 알려줍니다.

 

5-2️⃣ src/main.rs 수정

use rand::Rng;

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

 

5-3️⃣ 실행

Ctrl + S 를 눌러 파일을 저장합니다. (또는 메뉴 -> 파일 -> 저장) 

 

터미널에서 다음을 실행합니다.

cargo run

 

결과 예시:

Random number: 73

📘 6단계: 요약 정리

 

단계 설명
cargo new 프로젝트이름 새로운 프로젝트(패키지)를 만든다
Cargo.toml 프로젝트 정보 + 외부 크레이트 의존성 정의
cargo run 프로젝트 실행
use 크레이트::모듈 외부 크레이트를 Rust 코드에서 사용
extern crate 현재는 거의 사용되지 않음 (이전 버전 문법, 생략 가능)

🎯 연습용 예제 (직접 해보세요!)

 

use rand::Rng;

fn main() {
    let secret_number = rand::thread_rng().gen_range(1..=10);
    println!("Secret number is: {}", secret_number);
}

 

 

 

이상으로 패키지와 크레이트에 대해 알아보았습니다.

 

 


 

러스트 프로그래밍 언어 관련 글 목록입니다.

 

[ Rust ] 러스트 프로그래밍 언어 관련 글 목록입니다.

러스트 컴퓨터 프로그래밍 언어를 아이들에게 알려주기 위해 글을 작성하고 있습니다.가능한 쉽고 자세하게 그리고 잘 따라할 수 있도록 작성해 보려고 합니다.글이 작성되는 대로 계속 추가하

hb-love-each-other.tistory.com

 

 


 

https://rust-kr.org/

 

한국 러스트 사용자 그룹

 

rust-kr.org

 

https://www.rust-lang.org/

 

Rust Programming Language

A language empowering everyone to build reliable and efficient software.

www.rust-lang.org

 

 

728x90
반응형