본문 바로가기

자료/코딩

rustup 시대의 rust 설치 (Windows)

2021 재정리

1. rust 설치

a. 환경변수 설정 (안 하면 기본값으로 홈(문서)이었던걸로)

  • CARGO_HOME
  • RUSTUP_HOME

PATH에는 자동으로 넣어주던가요? rustup_init.exe 설치 후 내용을 확인해주세요.
혹시 안 들어갔다면 %CARGO_HOME%\bin 을 PATH에...

b. rustup_init.exe 다운 및 실행 (rust-lang 홈페이지에서 배포중)

안녕하세요 야생의 리눅스 유저님, 배포판 패키지 매니저에서 설치하고 싶으신 마음은 잘 알겠고 저도 그거 좋아하는데요, rustup 이 각종 컴파일러 모듈 관리도 하므로 별로 추천드리지는 않습니다. nightly 로 바꿔야 할 때도 가아끔 있구요. 홈페이지에서 curl rustup.sh 명령어를 사용하여 설치하시는 걸 권해드립니다. 제가 해봐서 그러는 거에요.

c. (msvc 툴체인으로 설치했다면) Visual Studio Build Tools 라던지 적당히 설치
Visual Studio 가 이미 설치되어 있다면 상관없음 (안 되면 C++ 구성요소 설치하십셩)

2. IDE

주요 선택지는 두 가지입니다.

  • Visual Studio Code + 플러그인
    디버깅은 각 플러그인 설명 보세요 F5 누르면 뭐 깔라고 시킬것임
    • Rust (rls)
      (설명을 보니 rust-analyzer를 백엔드로 선택할 수도 있다고 함)
    • rust-analyzer (추천)
      (intellij-rust 만들던 사람이 만드는 걸로 알고있음)
  • IntelliJ 계열 IDE (IntelliJ-Rust "공식" 오픈소스 플러그인 (젯브레인님들...?))
    • CLion (💰유료)
      별 고민없이 네이티브 디버깅이 가능하고, 템플릿을 사용한 프로젝트 생성도 가능
    • IntelliJ Ultimate (💰유료) + Native Debug 플러그인
    • IntelliJ Community (IDE에서의 디버깅은 포기해야 함)

↓ OUTDATED ↓

더보기

2019 정리

  1. 환경변수 설정
    (안 하면 기본값으로 홈이었던걸로)
    • CARGO_HOME
    • RUSTUP_HOME
  2. rustup_init.exe 로 설치
  3. vscode - Rust (rls) 설치
    • rust 코드 열면 부가기능이 "컴포넌트 없는데 설치할래요?" -> YES YES YES
  4. TODO: Native Debug 쓰는 방법

2020 정리 - clion :shurg: 역시 💰 이 최고야! / 둘 다 번갈아가면서 씁니다

설치하는 김에 하는 메모입니다. 따라서 각 내용을 자세히 설명하지는 않습니다.

1. 환경변수 설정

설치 경로를 변경하려면 환경변수를 지정해야 합니다. [참고-러스트업]

  • CARGO_HOME - 패키지 매니저 cargo로 다운 / 빌드한 걸 저장할 곳 (예: D:\libraries\cargo_home)
  • RUSTUP_HOME - 러스트업 자체의 설치 장소 (예: D:\libraries\rustup_home)
  • PATH - (CARGO_HOME 경로)\bin 을 추가해야 cargo로 설치한 프로그램을 명령창에서 실행할 수 있습니다.

이거 안 하면 사용자 프로필 폴더 (C드라이브 입니다.) 에 설치됩니다.

2. rust 설치 (rustup)

환경변수에 의해 설치경로가 변경되어있는지 확인하세요.

설치 여부 확인은 설명할 것도 없지만...

  • rustc --version
  • cargo --version
  • rustup --version

3. 각종 프로그램 설치

3-1. rust 소스

자동완성 프로그램 racer 사용에 rust 소스코드가 필요합니다. 설치 방법은 [참고-러스트업]

rustup component add rust-src

3-1-1. 환경변수 설정 [참고-러스트업]

RUST_SRC_PATH[각주:1] : (rustup_home 경로)\toolchains\(툴체인 이름)\lib\rustlib\src\rust\src

무지 기네요. 예제: D:\libraries\rustup_home\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src

3-2. cargo install (이름)

  • racer (자동완성)
  • rustfmt (포맷팅)
  • rustsym (심볼 찾기)

3-3. Visual Studio Code

  • Rusty Code[각주:2]
    • 설정: 3-1-1. 에서 했던 값을 rust.rustLangSrcPath 에 삽입 (위에서 했는데 대체 왜 또...)
      JSON이라서 \를 \로 escape해야합니다.
      예제:

      "rust.rustLangSrcPath": "D:\\libraries\\rustup_home\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\src\\rust\\src"

  • Rust (Rust Language Server 사용[각주:3])
    • rustup install nightly
      rustup default nightly
    • rustup component add rls --toolchain nightly rustup component add rust-analysis --toolchain nightly rustup component add rust-src --toolchain nightly
  • Rust (rls) *2017.10.26 rustc 1.21.0 확인
    • stable에서 동작, rustup default stable 필요
    • 컴포넌트 필요 여부는 확인하지 않음 (이미 설치된 환경에서 확인)
    • 부가기능 설치 후 리로드, rust 파일 열기: "RLS가 설치되어 있지 않습니다. 설치하시겠습니까? → 예"
  • Native Debug - 얘 사용법 및 설치는 잘 몰라서 좀 더 알아봐야 합니다. 알아보게 되는 경우 글을 수정하겠습니다.

the end:

  1. VSCode에서 RustyCode 및 Rust Legacy mode 사용시 [본문으로]
  2. 지원 중단. 다운로드 수는 더 많지만 설치하면 안 됩니다. [본문으로]
  3. 작성일 기준 nightly 용입니다. 나중에 rustup component add rls 만으로도 되는 날이 오겠죠. [본문으로]