깔끔한 방법으로 macOS에서 Rust 설정하기
소개
내가 처음 Rust를 시작하고 싶었을 때, 적어도 Mac 장치에서 Rust의 툴체인에 대해 제안된 설치 방법에 대해 약간 혼란스러웠습니다. 익숙하지 않다면 사람들이 Mac에 Rust를 설치하는 일반적인 3가지 방법이 있습니다.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
이 방법에 대한 우려는 향후에 완전히 제거하는 방법이 즉시 명확하지 않다는 것입니다. 또한 쉘 스크립트가 정확히 무엇을 하는지 이해하려면 쉘 스크립트를 읽어야 합니다. brew
로 설치하는 것입니다.그러나 이것은 기본적으로 주어진 기본 하드웨어에 대해 단일 도구 체인을 설치하는 것입니다.
rustup
가 이 공식의 일부가 아닌 것처럼 보이기 때문에 다른 도구 체인을 추가하여 쉽게 크로스 컴파일할 수 없습니다. rustup을 위한 환경 변수 설정
나는
$HOME
디렉토리를 깨끗하게 유지하는 것을 좋아하므로 가능한 한 XDG Base Directory Specification을 따르려고 노력합니다. 다음은 내 ~/.zshenv
에서 설정한 XDG 변수입니다.export XDG_CONFIG_HOME="$HOME"/.config
export XDG_DATA_HOME="$HOME"/.local/share
export XDG_CACHE_HOME="$HOME"/.cache
Rust를 사용하면 환경 변수와 함께 툴체인의 위치를 구성할 수 있습니다. 여기에서 가장 중요한 두 가지를 설정했습니다.
export CARGO_HOME="$XDG_DATA_HOME"/cargo
export RUSTUP_HOME="$XDG_DATA_HOME"/rustup
설치
이제
rustup-init
를 설치하고 실행할 수 있습니다.brew install rustup-init
rustup-init
녹 설치 과정으로 인사드리겠습니다.
Welcome to Rust!
This will download and install the official compiler for the Rust
programming language, and its package manager, Cargo.
Rustup metadata and toolchains will be installed into the Rustup
home directory, located at:
/Users/xs/.local/share/rustup
This can be modified with the RUSTUP_HOME environment variable.
The Cargo home directory located at:
/Users/xs/.local/share/cargo
This can be modified with the CARGO_HOME environment variable.
The cargo, rustc, rustup and other commands will be added to
Cargo's bin directory, located at:
/Users/xs/.local/share/cargo/bin
This path will then be added to your PATH environment variable by
modifying the profile files located at:
/Users/xs/.profile
/Users/xs/.zshenv
You can uninstall at any time with rustup self uninstall and
these changes will be reverted.
Current installation options:
default host triple: aarch64-apple-darwin
default toolchain: stable (default)
profile: default
modify PATH variable: yes
1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
제안된 디렉터리가 env vars를 사용하여 설정한 디렉터리와 일치하는지 확인합니다. 수동으로 제어하는 것을 좋아하기 때문에 개인적으로 PATH var 수정을 비활성화하는 것을 좋아합니다. 여기 내
PATH
의 현재 .zshrc
가 있습니다.path=(
"$HOME"/go/bin
"$XDG_DATA_HOME"/cargo/bin
"$HOME"/.krew/bin
/opt/homebrew/opt/make/libexec/gnubin
/opt/homebrew/opt/man-db/libexec/bin
/opt/homebrew/opt/grep/libexec/gnubin
/opt/homebrew/opt/gnu-tar/libexec/gnubin
/opt/homebrew/opt/gnu-sed/libexec/gnubin
/opt/homebrew/opt/findutils/libexec/gnubin
/opt/homebrew/opt/coreutils/libexec/gnubin
$path
)
쉘 완성 설정
기본적으로 대부분의 수식은
$(brew --prefix)/share/zsh/site-functions
에 셸 완성을 설치합니다. Homebrew 디렉토리를 수동으로 변경하지 않는 것을 선호하므로 홈 디렉토리에 다른 디렉토리를 설정할 수 있습니다. 내 $fpath
에 .zshrc
변수를 다음과 같이 설정하고 싶습니다.fpath=(
/opt/homebrew/share/zsh/site-functions
"$XDG_DATA_HOME"/zsh/site-functions
$fpath
)
그래서 저는 단순히
"$XDG_DATA_HOME"/zsh/site-functions
에 디렉토리를 만들고 거기에 쉘 완성 파일을 작성합니다.rustup completion zsh cargo > $XDG_DATA_HOME/zsh/site-functions/_cargo
rustup completion zsh rustup > "$XDG_DATA_HOME"/zsh/site-functions/_rustup
참고:
bash
또는 fish
를 사용하는 경우 rustup completions --help
를 사용하여 더 읽을 수 있습니다.셸을 다시 시작하면 셸 완성이 의도한 대로 작동합니다. 이제 마침내
rustup toolchain
명령을 사용하여 모든 도구 체인을 쉽게 관리할 수 있습니다. 나는 이것이 Mac에서 Rust를 설치하고 관리하는 "가장 깔끔한"방법이라고 생각하며 이것이 일부 사람들에게 도움이 되었기를 바랍니다.
Reference
이 문제에 관하여(깔끔한 방법으로 macOS에서 Rust 설정하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/xs/setting-up-rust-on-macos-in-a-clean-way-13d1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)