>백엔드 개발 >Golang >GO 모듈 및 발생한 문제 이해

GO 모듈 및 발생한 문제 이해

藏色散人
藏色散人앞으로
2021-06-26 14:45:152040검색

다음 golang자습서 칼럼에서는 GO 모듈에 대한 이해와 직면한 문제를 소개합니다.

사용된 Go 버전은 1.16.5이고 코드 편집기는 GoLang2020.3.4이며 GO 모듈 테스트는 Windows 10에서 수행됩니다. go의 프로젝트 경로를 의미합니다. GOPATH가 사용되기 전에는 GOPATH에 많은 문제가 있어서 대신 GOPATH를 사용했습니다. GOPATH 모드에는 버전 제어 개념이 없으므로 치명적입니다. 적어도 다음과 같은 문제가 발생합니다:

1. go get을 실행할 때 버전 정보에 대한 기대치를 전달할 수 없습니다. 즉, 현재 업데이트 중인 버전을 알 수 없으며 예상하는 특정 버전을 가져오기 위해 지정을 전달할 수도 없습니다. 2. Go 애플리케이션을 실행할 때 다른 사람들이 당신이 의존할 것으로 예상하는 동일한 버전의 타사 라이브러리를 가지고 있다고 보장할 수 없습니다. 이는 프로젝트 종속 라이브러리 관리에서 모든 사람의 종속 버전이 일관적이라고 보장할 수 없다는 것을 의미합니다
3. GOPATH 모드의 가져오기 경로는 모두 동일(github.com/foo/bar)하기 때문에 v1, v2, v3 등 다른 버전의 참조 문제를 처리할 수 없습니다.

4. Go 언어 공식은 Go1.11부터 Go 모듈(이전의 vgo)을 홍보하기 시작했습니다. Go1.13부터 GoPATH 사용 모드를 사용하는 것이 점차적으로 안정화되었으므로 더 이상 권장되지 않습니다. 새 프로젝트에 GOPATH 모드를 계속 사용할 필요가 없습니다.

GOModules의 등장으로 해결된 문제

1. Go 언어의 오랜 의존성 관리 문제
2. 기존 GOPATH 사용 모델을 "제거"

3. (Migration 기능 제공)

GOModules과 GOPATH의 관계

1. 프로젝트 경로를 설정합니다

2. 편집기를 열고 프로젝트 루트 디렉터리에서 다음 명령을 실행합니다

go mod init



3. 타사 종속성 설치


GO Modules的使用与遇到的问题与解决方式

이제 GOModules과 GOPATH 사이의 관계를 볼 수 있습니다. "go get" 명령은 타사 종속성 패키지를 GOPATH에 넣습니다. GOModules는 다중 사용자 개발에 사용됩니다. 모든 사람의 개발 버전을 일관되게 만들고 모든 사람이 동일한 버전의 종속성을 사용하도록 버전 관리를 수행합니다. GOModules는 GOPATH

GO Modules的使用与遇到的问题与解决方式

마지막으로, 제가 사용하는 편집기는 GOLang이며, GOModules에는 다음과 같은 문제가 있습니다. 이 문제는 타사 종속성 패키지가 성공적으로 다운로드되어 설치되었음을 의미합니다. 해결 방법은 다음과 같습니다.

위 내용은 GO 모듈 및 발생한 문제 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 learnku.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제