>  기사  >  백엔드 개발  >  Go 모듈을 이전의 비모듈 모듈과 동일한 경로에 게시할 수 있나요?

Go 모듈을 이전의 비모듈 모듈과 동일한 경로에 게시할 수 있나요?

王林
王林앞으로
2024-02-10 09:51:09857검색

Go 模块可以与之前的非模块模块发布在同一路径吗?

Go 모듈은 Go 언어 버전 1.11에 도입된 중요한 기능으로, 개발자가 프로젝트에서 타사 라이브러리를 더 잘 관리하고 활용할 수 있도록 도와줍니다. 비모듈 모드로 개발된 이전 프로젝트의 경우, PHP 편집자 Banana는 모든 사람에게 모듈과 비모듈 모듈이 동일한 경로에 게시될 수 있음을 알려줍니다. 이것의 장점은 프로젝트의 유용성과 안정성을 유지하면서 기존 프로젝트를 모듈 모드로 쉽고 점진적으로 마이그레이션할 수 있다는 것입니다. 그러나 동일한 경로에 모듈과 비모듈 모듈을 게시하는 경우 프로젝트의 정상적인 작동을 보장하기 위해 몇 가지 규칙과 규칙을 따라야 한다는 점에 유의해야 합니다.

질문 내용

비모듈 저장소에서 호스팅되는 작은 라이브러리가 있는데 이제 이를 go 모듈로 변환하고 싶습니다.

다음을 성공적으로 실행했습니다:

으아악

go.modgo.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를 가리키고 있으며 서버에 푸시되지 않았습니다. 원격 저장소가 업데이트되었는지 다시 확인하세요.

원격 저장소가 업데이트되었지만 여전히 작동하지 않는 경우 다음과 같이 문제 범위를 좁힐 수 있습니다.

  1. 사용 -x 选项运行 go get:

    으아악
  2. cd 출력에 표시된 디렉터리로 이동합니다. 디렉토리 경로는 다음과 같습니다:

    으아악
  3. 이 디렉터리에서 git ls-remote -q origin 并检查输出。下面的例子是我的机器上不工作时的例子。可以看到headv2.0.0都指向同一个commit id,并且没有v3.0.0를 실행하세요.

    으아악

위 내용은 Go 모듈을 이전의 비모듈 모듈과 동일한 경로에 게시할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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