Go 모듈은 Go 언어 버전 1.11에 도입된 중요한 기능으로, 개발자가 프로젝트에서 타사 라이브러리를 더 잘 관리하고 활용할 수 있도록 도와줍니다. 비모듈 모드로 개발된 이전 프로젝트의 경우, PHP 편집자 Banana는 모든 사람에게 모듈과 비모듈 모듈이 동일한 경로에 게시될 수 있음을 알려줍니다. 이것의 장점은 프로젝트의 유용성과 안정성을 유지하면서 기존 프로젝트를 모듈 모드로 쉽고 점진적으로 마이그레이션할 수 있다는 것입니다. 그러나 동일한 경로에 모듈과 비모듈 모듈을 게시하는 경우 프로젝트의 정상적인 작동을 보장하기 위해 몇 가지 규칙과 규칙을 따라야 한다는 점에 유의해야 합니다.
비모듈 저장소에서 호스팅되는 작은 라이브러리가 있는데 이제 이를 go 모듈로 변환하고 싶습니다.
다음을 성공적으로 실행했습니다:
으아악go.mod
和 go.sum
파일은 오류 없이 생성되었으며 라이브러리는 여전히 테스트를 통과합니다.
이전 버전에서는 모듈 이름 끝에 v2.0.0
,所以我将版本增加到v3.0.0
,并将/v3
添加到go.mod
가 붙었습니다. 내가 온라인에서 본 바에 따르면 이것이 필요한 것입니다.
내 go.mod
파일은 다음과 같습니다:
그런 다음 내부 Git 서버에 라이브러리를 게시하고 준비가 되었다고 생각했습니다.
새 Go 모듈 프로젝트에 라이브러리를 추가하려고 하면 다음 메시지가 나타납니다.
으아악추가하면 v3.0.0
发布到新路径 (tssgit.reyrey.com/teschste/go-utils2
) 메인 프로젝트 버전을 다시 높여도 새 프로젝트에 성공적으로 추가할 수 있다는 것을 알았습니다.
같은 길을 계속해서 출판할 수 있게 해주는 뭔가를 놓치고 있는 걸까요, 아니면 이 일을 할 수 없는 걸까요?
어떤 도움이라도 대단히 감사하겠습니다!
예, 지원됩니다. 버전 하위 디렉터리는 선택 사항입니다.
보시는 오류가 발생하는 상황을 발견했습니다. 이는 마스터 브랜치가 업데이트되지 않았을 때 발생합니다(여전히 태그v2.0.0
)并且新标签 v3.0.0
를 가리키고 있으며 서버에 푸시되지 않았습니다. 원격 저장소가 업데이트되었는지 다시 확인하세요.
원격 저장소가 업데이트되었지만 여전히 작동하지 않는 경우 다음과 같이 문제 범위를 좁힐 수 있습니다.
사용 -x
选项运行 go get
:
cd
출력에 표시된 디렉터리로 이동합니다. 디렉토리 경로는 다음과 같습니다:
이 디렉터리에서 git ls-remote -q origin
并检查输出。下面的例子是我的机器上不工作时的例子。可以看到head
和v2.0.0
都指向同一个commit id,并且没有v3.0.0
를 실행하세요.
위 내용은 Go 모듈을 이전의 비모듈 모듈과 동일한 경로에 게시할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!