Cách đặt biến môi trường GOPRIVATE


15

Tôi đã bắt đầu làm việc trên một Godự án và nó sử dụng một số mô-đun riêng từ các repos riêng của Github và bất cứ khi nào tôi cố chạy, go run main.gonó sẽ 410 Gonebáo lỗi dưới đây :

xác minh github.com/repoURL/go-proto@v2.86.0+incompiverse/go.mod: github.com/repoURL/go-proto@v2.86.0+incompiverse/go.mod: đọc https: //sum.golang. org/lookup/github.com/!repoURL/go-proto@v2.86.0+incomp tương thích : 410 Đã qua

Tôi có thể dễ dàng sao chép repo riêng từ thiết bị đầu cuối, điều đó có nghĩa là sshcác khóa của tôi được cấu hình đúng. Tôi đọc ở đây rằng tôi cần đặt GOPRIVATEbiến môi trường nhưng tôi không chắc làm thế nào để làm điều đó.

Bất cứ ai có thể trả lời hoặc chỉ vào hướng dẫn có liên quan?

Đi: v1.13, HĐH: macOS Mojave


man $(basename $SHELL)
Peter

1
Có một sự giúp đỡ cho điều đó:go help module-private
Soroush

Câu trả lời:


24

Câu trả lời ngắn:

go env -w GOPRIVATE=github.com/repoURL/private-repo

HOẶC LÀ

Nếu bạn muốn cho phép tất cả các repos riêng từ tổ chức của bạn

go env -w GOPRIVATE=github.com/<OrgNameHere>/*

Câu trả lời dài:

Kiểm tra "Cấu hình mô-đun cho các mô-đun ngoài công cộng" để biết thêm thông tin:

Biến môi trường GOPRIVATE kiểm soát các mô-đun mà lệnh go coi là riêng tư (không khả dụng công khai) và do đó không nên sử dụng cơ sở dữ liệu proxy hoặc tổng kiểm tra. Biến là một danh sách các mẫu hình cầu được phân tách bằng dấu phẩy (theo cú pháp của Go's path.Match) của các tiền tố đường dẫn mô-đun. Ví dụ,

 GOPRIVATE=*.corp.example.com,rsc.io/private

khiến lệnh go coi là riêng tư bất kỳ mô-đun nào có tiền tố đường dẫn khớp với một trong hai mẫu, bao gồm git.corp.example.com/xyzzy, rsc.io/private và rsc.io/private/quux.

. .

Lệnh 'go env -w' (xem 'go help env') có thể được sử dụng để đặt các biến này cho các lệnh gọi lệnh go trong tương lai.


Lưu ý về việc sử dụng ssh:

Nếu bạn sử dụng ssh để truy cập git repo (được lưu trữ cục bộ), bạn có thể muốn thêm phần sau vào ~/.gitconfig:

[url "ssh://git@git.local.intranet/"]
       insteadOf = https://git.local.intranet/

để các golệnh có thể truy cập máy chủ git.


1
Cảm ơn! Làm việc ngay bây giờ vì vậy mẹo là sử dụng url ký tự đại diện với tên tổ chức. go env -w GOPRIVATE=github.com/{OrgNameHere}/*
UsamaAmjad
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.