Ben kullandım GOPATHama bu mevcut sorun için ben yardımcı olmuyor. Bir projeye özgü paketler oluşturmak istiyorum:
myproject/
├── binary1.go
├── binary2.go
├── package1.go
└── package2.go
Ben birden fazla yol çalıştı ama nasıl alırım package1.goiş için binary1.goveya binary2.goüzerinde ve böylece?
Örneğin; Ben edebilmek istiyorum import "package1"ve daha sonra çalıştırmak mümkün go build binary1.gove her şey hata paket bulunabilir edilemeyeceğini atılan olmadan cezası çalışır GOROOTveya GOPATH. Bu tür bir işleve ihtiyaç duymamın nedeni büyük ölçekli projeler için; Birden fazla pakete başvurmak veya bunları büyük bir dosyada tutmak istemiyorum.
.goTek bir dizindeki tüm dosyalar aynı paketin parçasıdır importve aynı paketteki (yani aynı dizindeki) dosyalara ihtiyacınız yoktur . Yeni Go modülleri sisteminin yeteneklerinden biri olan GOPATH dışında çalışmayı söylemiştiniz. Bu cevap kapakları vb tek depoda birden modüllerini olması olsun veya olmasın bir modül içindeki paketleri düzenlenmesi, yerel paketler ithal yapısını modülü
git/repo/to/my/projectyolu belirtmedikçe temel olarak yerel alt paketlerinizi içe aktaramayacağınızı mı düşünüyorsunuz? Kimsenin bu davranışı istemesinin nedenini görmüyorum. Projenizi başka bir konuma (örneğin Docker görüntüsü) taşırsanız, tüm yolları tekrar değiştirmeniz gerekir? Bunun neden bu kadar karmaşık olduğunu cevapları arıyorum.