আমি ব্যবহার করেছি GOPATH
তবে এই বর্তমান সমস্যার জন্য আমি এটির মুখোমুখি হচ্ছি না। আমি কোনও প্রকল্পের জন্য নির্দিষ্ট প্যাকেজগুলি তৈরি করতে সক্ষম হতে চাই:
myproject/
├── binary1.go
├── binary2.go
├── package1.go
└── package2.go
আমি একাধিক উপায়ে চেষ্টা করেছিলেন কিন্তু আমি কিভাবে পাবো? package1.go
কাজ করার binary1.go
বা binary2.go
এবং তাই?
উদাহরণ স্বরূপ; আমি সক্ষম হতে চাই import "package1"
এবং তারপরে চালাতে সক্ষম হয়েছি go build binary1.go
এবং ত্রুটি না ফেলে সমস্ত কিছু ঠিকঠাক কাজ করে যা প্যাকেজটিতে পাওয়া যায় না GOROOT
বা পাওয়া যায় না GOPATH
। আমার এই ধরণের কার্যকারিতাটির কারণ বড় আকারের প্রকল্পগুলির জন্য; আমি একাধিক অন্যান্য প্যাকেজগুলি রেফারেন্স করতে বা এটিকে একটি বড় ফাইলে রাখতে চাই না।
.go
একটি একক ডিরেক্টরিতে থাকা সমস্ত ফাইলই একই প্যাকেজের অংশ এবং আপনার import
একই প্যাকেজটিতে (যেমন, একই ডিরেক্টরি) ফাইল করার দরকার নেই । আপনি গোপথের বাইরে কাজ করার কথা উল্লেখ করেছেন যা নতুন গো মডিউল সিস্টেমের অন্যতম ক্ষমতা capabilities এই উত্তরে মডিউল কাঠামো, স্থানীয় প্যাকেজগুলি আমদানি করা, মডিউলটির মধ্যে প্যাকেজগুলি সাজানো, একক সংগ্রহস্থলে একাধিক মডিউল থাকবে কি না ইত্যাদি ইত্যাদির অন্তর্ভুক্ত রয়েছে
git/repo/to/my/project
পথটি নির্দিষ্ট না করে আপনি মূলত আপনার স্থানীয় সাব-প্যাকেজগুলি আমদানি করতে পারবেন না ? আমি কেন এই আচরণটি চাইবে তা কারণ দেখছি না। যদি আপনি আপনার প্রকল্পটি অন্য কোনও স্থানে (অর্থাত্ ডকার চিত্র) এ সরিয়ে নিয়ে যান, তবে আপনাকে আবার সমস্ত পাথ পরিবর্তন করতে হবে? আমি কেন এটি এত জটিল তা উত্তর খুঁজছি।