Bắt đầu với v1.11 Go hỗ trợ thêm cho các mô-đun. Lệnh
go mod init <package name>
go build
sẽ tạo go.mod
và go.sum
các tệp chứa tất cả các phiên bản được tìm thấy cho các gói phụ thuộc.
Nếu một mô-đun không có bất kỳ bản phát hành nào, cam kết mới nhất của mô-đun đó sẽ được sử dụng. Nếu một mô-đun có bản phát hành, thì bản mới nhất được chọn làm phụ thuộc.
Tuy nhiên, đôi khi tôi sẽ cần chức năng chưa có trong bản phát hành đã xuất bản, nhưng từ một cam kết được thực hiện sau bản phát hành đó. Làm cách nào để tôi go.mod
không trỏ đến bản phát hành của một mô-đun, mà chỉ đến một cam kết cụ thể trong kho lưu trữ của mô-đun?
Có vẻ như tôi có thể làm điều đó bằng tay trong go.mod với
module /my/module
require (
...
github.com/someone/some_module v0.0.0-20181121201909-af044c0995fe
...
)
nơi v0.0.0
không tương ứng với thẻ phát hành được xuất bản cuối cùng, 20181121201909
sẽ là dấu thời gian cam kết và af044c0995fe
sẽ là băm cam kết? Nên tìm và nhập thông tin như vậy bằng tay, hay có cách nào tốt hơn?
/commits
, nhưng không dưới/pulls
. Xem thêm thông tin tại đây: golang / go # 31191 lọc ra các loại cam kết này một cách rõ ràng.