Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

cargo install로 바이너리 설치하기

cargo install 명령은 바이너리 크레이트를 로컬에 설치하고 사용할 수 있게 해 줍니다. 이것은 시스템 패키지를 대체하려는 목적이 아니라, 다른 사람들이 crates.io에 공유한 도구를 러스트 개발자가 편리하게 설치할 수 있게 하려는 기능입니다. 다만 설치할 수 있는 것은 바이너리 타깃을 가진 패키지뿐입니다. 바이너리 타깃(binary target) 은 크레이트에 src/main.rs 파일이나 바이너리로 지정된 다른 파일이 있을 때 만들어지는 실행 가능한 프로그램을 뜻합니다. 반면 라이브러리 타깃은 그 자체로 실행되지는 않지만 다른 프로그램 안에 포함하기에 적합합니다. 보통 크레이트 README 파일에는 그 크레이트가 라이브러리인지, 바이너리 타깃이 있는지, 혹은 둘 다인지에 대한 정보가 들어 있습니다.

cargo install 로 설치한 모든 바이너리는 설치 루트의 bin 폴더에 저장됩니다. 만약 rustup.rs 로 러스트를 설치했고 별도 설정을 바꾸지 않았다면, 이 디렉터리는 $HOME/.cargo/bin 입니다. cargo install 로 설치한 프로그램을 실행할 수 있도록 이 디렉터리가 반드시 $PATH 안에 들어 있어야 합니다.

예를 들어 12장에서 파일 검색용 grep 도구의 러스트 구현체로 ripgrep 을 언급했죠. ripgrep 을 설치하려면 다음 명령을 실행합니다.

$ cargo install ripgrep
    Updating crates.io index
  Downloaded ripgrep v14.1.1
  Downloaded 1 crate (213.6 KB) in 0.40s
  Installing ripgrep v14.1.1
--snip--
   Compiling grep v0.3.2
    Finished `release` profile [optimized + debuginfo] target(s) in 6.73s
  Installing ~/.cargo/bin/rg
   Installed package `ripgrep v14.1.1` (executable `rg`)

출력의 끝에서 두 번째 줄은 설치된 바이너리의 위치와 이름을 보여 줍니다. ripgrep 의 경우 실행 파일 이름은 rg 입니다. 앞에서 말했듯 설치 디렉터리가 $PATH 안에 들어 있기만 하다면, 이제 rg --help 를 실행하고 더 빠르고 더 러스트다운 파일 검색 도구를 바로 사용할 수 있습니다!