Go는 간단하고 안정적이며 효율적인 소프트웨어를 쉽게 구성할 수 있는 오픈 소스 프로그래밍 언어입니다. go 언어 튜토리얼 칼럼에서는 go 언어 종속성 관리에 대해 소개합니다.
go mod 명령
종속성 추가
타사 프레임워크가 필요한 경우 먼저 github에서 해당 URL 주소를 확인하세요. 예를 들어 gin 프레임워크는 github.com/gin-gonic입니다. /gin
먼저 모듈 모드를 켭니다. 즉, SET GO111MODULE = on, 기본값은 자동입니다(명령은 실수를 방지하기 위해 항상 현재 프로젝트 디렉터리에서 실행된다는 점에 유의하세요)
SET GOPROXY=https:// goproxy.cn 프록시 설정 국내, 그렇지 않으면 다운로드할 수 없음, env -w GOPROXY=https://goproxy.cn,direct 추가(goland 설정을 통해 직접 수정할 수 있으며 매번 이 명령을 실행할 필요가 없음) 이전에 모듈 모드를 켜는 경우에도 마찬가지입니다.
go mod init 명령을 사용하여 현재 프로젝트의 go.mod 파일을 생성하세요
필요한 프레임워크가 로컬(GOPATH 아래)에 존재하지 않으면 다음을 실행하세요. go get -u github.com/gin-gonic/gin 이제 완료되었습니다. 이제 pkg, GOPATH 및 외부 라이브러리에 프레임워크 복사본 3개가 있어야 합니다. src와 동일한 레벨(실제로는 존재하지 않습니다. goland는 현재 프로젝트의 모듈 디렉토리와 GOROOT를 포함하여 이 디렉토리를 가상화합니다. src 디렉토리, 즉 SDK) 디렉토리는 물론 편집기가 외부 라이브러리 아래의 패키지를 통해 코드를 식별합니다. , <code>go mod 다운로드
를 사용할 수도 있지만 매개변수가 추가되지 않는 것 같으므로 먼저 go.mod 파일에 프레임워크를 추가해야만 성공할 수 있으므로 계속해서 다음을 사용합니다. 이전 방법go get -u github.com/gin-gonic/gin
,大功告成,此时该框架应该会有三份,分别放在与src同级的pkg、GOPATH和External Libraries(实际不存在,goland虚拟出该目录,其中包括当前项目的module目录和GOROOT下的src目录,即SDK)目录下,编辑器通过External Libraries下的包来识别代码),当然也可以使用go mod download
,但这个似乎不加参数,那么应该需要先在go.mod文件中添加该框架,才能成功,所以还是采用上一种
如果本地已经存在需要的框架,则执行go install github.com/gin-gonic/gin
或者在go.mod文件的require中添加github.com/gin-gonic/gin
(直接改文件好像不太行,应该要用go mod edit),或者在程序中import github.com/gin-gonic/gin
然后执行go mod tidy
删除依赖
如果不再需要这个框架,则执行go mod tidy
,如果程序中没有涉及到该框架的代码,该指令会自动将go.mod
go install github.com/gin-gonic/gin
을 실행하거나 github.com/gin-gonic/gin
추가에서 실행하세요. go.mod 파일의 요구 사항에 따라(파일을 직접 변경할 수 없는 것 같습니다. go mod edit를 사용해야 합니다) 또는 com/gin-gonic/gin그런 다음 <code>go mod tidy
Delete dependency
를 실행하세요. 이 프레임워크가 더 이상 필요하지 않으면 관련 코드가 없으면go mod tidy
를 실행하세요. 이 명령을 실행하면 go.mod
파일의 프레임워크가 자동으로 삭제됩니다이때 외부 라이브러리 디렉터리의 프레임워크는 삭제되고 나머지 두 곳은 삭제됨, 결과적으로 편집자가 프레임워크를 인식할 수 없으므로 코드 프롬프트가 제공될 수 없으며 프레임워크와 관련된 코드에서 오류가 보고됩니다.
기타 지침
그 외에 goland 2019 버전 3.0 이후에는 클립보드에서 github.com/gin-gonic/gin 등을 감지하면 설치, 가져오기 등을 묻는 팝업창이 자동으로 생성됩니다. .모듈 모드를 열고 프록시를 수정하도록 설정되어 있는 경우 팝업 창에서 옵션을 직접 클릭하여 작동할 수 있습니다 🎜🎜현재 vscode는 모듈 모드를 잘 지원하지 않습니다(외부 코드 프롬프트는 제공할 수 없습니다). 또는 때로는 사용할 수 없으며 패키지를 자동으로 가져올 수 없습니다)), 지연이 너무 심각하다는 오류가 표시됩니다. 🎜🎜더 많은 바둑 지식을 알고 싶다면 PHP 중국어 웹사이트 🎜go 언어 튜토리얼🎜 칼럼을 주목해주세요. 🎜위 내용은 Go 언어 종속성 관리 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!