Rust

[Rust] Cargo란?

yjk490 2024. 3. 11. 22:57

Cargo란?

  • 러스트 빌드 시스템 및 패키지 매니저

Cargo.toml

  • [[TOML]] 포맷으로 되어있는 Cargo 설정 파일
  • Cargo가 코드를 컴파일하는 데 필요한 정보를 등록
    • 프로젝트 이름 및 버전, 의존성 설정
  • 프로젝트 최상위 디렉터리에 위치하고 소스 파일이 src 디렉터리 내에 위치한다고 예상
    • 프로젝트 생성 시 Cargo를 사용하지 않았어도 Cargo.toml 파일을 수정하고 코드를 src 디렉터리로 옮기면 Cargo를 사용해서 프로젝트를 실행시킬 수 있음

사용법

  • Cargo 버전 확인
    • cargo --version
  • 프로젝트 생성
    • cargo new [프로젝트 이름]
    • 프로젝트 이름으로 디렉터리가 생성되며 그 하위에 파일들을 생성
    • .gitignore 파일도 함께 생성되며 새 [[Git]] 저장소가 초기화됨.
      • 단, 이미 Git 저장소로 되어있는 디렉터리에서 프로젝트를 생성한다면 Git 파일들은 생성되지 않음
  • 빌드
    • Cargo build
    • 프로젝트 디렉터리에서 실행해야 함
    • 명령어 실행 시 target/debug/디렉터리에 .exe 실행 파일을 생성
      • ./target/debug/project_name.exe
  • 실행
    • ./target/debug/project_name
      • 빌드 후 생성된 .exe 실행 파일을 실행시킴
    • Cargo run
      • 빌드와 동시에 실행시킴
      • 보통 이 명령어 사용
      • 프로젝트 디렉터리에서 실행해야 함
  • 컴파일 가능 여부 확인
    • Cargo check
      • 실제 컴파일은 하지 않고 컴파일 가능 여부만 확인
      • 컴파일하고 실행 파일을 생성하는 단계가 없기 때문에 Cargo build보다 빠름
      • 코드를 작성하는 동안 컴파일이 가능한지 지속적으로 검사하기에 유용