소프트웨어 버전을 이해하면 문제를 해결하는 데 어떻게 도움이 됩니까?
5118 단어 developmentrustgithublearning
tl;박사
좀 더 일반적인 의미에서 저는 4년 전 소프트웨어 도구로 작업을 시작했을 때를 기억합니다. 일상적으로 소프트웨어로 작업하면서 직면하는 문제가 종종 다음과 같이 해결될 수 있다는 생각은 전혀 하지 않았습니다.
예를 들어 Rust 생태계의 패키지 관리자 "Cargo"의 경우 사용 가능한 다른 버전here을 볼 수 있습니다.
문제
그래서 최근에 처음으로 Windows System for Linux(WSL)의 크레이트 문제publishing에 부딪쳤습니다.
리포지토리가 마운트된 Windows 디렉토리에 기반을 둔 경우
cargo publish
명령이 작동하지 않는 것 같습니다.따라서 이 프로세스와 관련된 디렉토리는 다음과 같습니다.
|-- ~/
|-- /mnt/c/Users/david/Documents/Github/nixy
내 프로젝트가 Windows 사용자의 문서 폴더에 있음을 알 수 있습니다.
다른 사람이 문제를 해결했습니까?
바퀴를 재발명하지 않기 위해 어디로 가야할지 즉시 생각하지 않고 실행하려고 할 때 받은 오류 메시지
cargo publish
를 Google에서 검색했습니다.이것이 추적되는 문제here와 이것이 실제로 발생하는 이유에 대한 자세한 기술 정보here가 있습니다.
해결 방법 중 하나 시도
#8439의 댓글을 기반으로 오늘의 문제를 해결하기 위해 다음 단계를 수행했습니다.
해결 방법의 디렉토리가 존재하는지 확인했습니다.
wsl@DESKTOP-DCRMGFD:/mnt/c/Users/david/Documents/GitHub/nixy$ cd ~
그런 다음 내가 있던 이전 디렉토리로 돌아갔습니다.
wsl@DESKTOP-DCRMGFD:~$ cd -
그런 다음 프로젝트의 상위 디렉토리로 이동했습니다.
wsl@DESKTOP-DCRMGFD:/mnt/c/Users/david/Documents/Github/nixy$ cd ..
그런 다음 프로젝트를 WSL 홈 폴더에 재귀적으로 복사했습니다.
$ wsl@DESKTOP-DCRMGFD:/mnt/c/Users/david/Documents/Github/$ cp -R ./nixy ~
그런 다음 WSL 홈 폴더의 두 번째 프로젝트 위치로 이동하여 게시 명령을 다시 실행했습니다.
wsl@DESKTOP-DCRMGFD:/mnt/c/Users/david/Documents/Github$ cd ~
wsl@DESKTOP-DCRMGFD:~$ ls
nixy
wsl@DESKTOP-DCRMGFD:~$ cd nixy
wsl@DESKTOP-DCRMGFD:~/nixy$ ls
Cargo.toml LICENSE README.md src target tests
wsl@DESKTOP-DCRMGFD:~/nixy$ cargo publish
Updating crates.io index
Packaging nixy v0.1.0 (/home/wsl/nixy)
Verifying nixy v0.1.0 (/home/wsl/nixy)
Compiling nixy v0.1.0 (/home/wsl/nixy/target/package/nixy-0.1.0)
Finished dev [unoptimized + debuginfo] target(s) in 2.53s
Uploading nixy v0.1.0 (/home/wsl/nixy)
wsl@DESKTOP-DCRMGFD:~/nixy$
해결 방법을 사용해야 합니까?
아니! 이제 최신 버전의 Cargo로 업그레이드할 수 있으며 이것은 마운트된
/mnt/c/
디렉토리에서 작동할 것입니다.설치된 Cargo 버전을 확인하여 2020-10-14 버전을 사용 중이라고 알려주었습니다.
wsl@DESKTOP-DCRMGFD:~/nixy$ cargo --version
cargo 1.48.0 (65cbdd2dc 2020-10-14)
수정 사항이 12월 7일에 마스터에 병합되었음을 #8950에서 볼 수 있습니다.
그래서 Rust 툴체인을 업데이트하면
Cargo publish
명령이 업데이트됩니다.wsl@DESKTOP-DCRMGFD:/mnt/c/Users/david/Documents/Github$ rustup update
이것은 실제로 수정이 병합되기 직전인 다음 Rust 버전을 제공하며, 1.50 및 이와 관련된 모든 버그 수정에 액세스하려면 야간 채널로 전환해야 할 수 있습니다.
wsl@DESKTOP-DCRMGFD:/mnt/c/Users/david/Documents/Github$ cargo --version
cargo 1.49.0 (d00d64df9 2020-12-05)
마무리
대부분 자유 시간에 Rust 생태계에 기여하여 이 게시물에서 제가 도움을 받은 것과 같은 수정 사항을 추가하는 멋진 사람들에게 감사드립니다!
문제를 테스트하기 위해 내 Crate의 새 버전을 게시하면 이 게시물을 업데이트하는 것을 잊지 않도록 노력하겠습니다.
다음 시간까지 아래 토론에 자유롭게 참여하십시오 👋.
Reference
이 문제에 관하여(소프트웨어 버전을 이해하면 문제를 해결하는 데 어떻게 도움이 됩니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/davidmaceachern/how-understanding-sofware-versions-can-help-you-get-unstuck-33k7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)