استخدام "go get" في مستودع Git الشخصي
عند محاولة جعل إحدى الحزم الخاصة بك "go get" - قادرة على VPS شخصي، قد تواجه الخطأ: "package example.com/user/package: مسار استيراد غير معروف". تنشأ هذه المشكلة حتى بعد التكوين الصحيح على ما يبدو باتباع وثائق "go help importpath".
يكمن الحل في تكوين الخادم لإرجاع علامة تعريف محددة استجابة لطلبات "go get". بالنسبة لخوادم nginx على وجه التحديد، يمكن استخدام قاعدة إعادة الكتابة التالية:
location ~ "(/[^/] /[^/] )(/.*)?" { if ($arg_go-get = "1") { echo '<html><head><meta name="go-import" content="my.domain.com$1 git git ssh://[email protected]$1"/></head></html>'; } try_files $uri $uri/index.html $uri.html @gitlab; }
عند تقديم طلبات "go get" إلى عنوان URL المحدد باستخدام الوسيطة "go-get=1"، سيتم إرجاع العلامة الوصفية المقدمة. تتضمن العلامة الوصفية هذه مسار الاستيراد، ونوع التحكم في الإصدار (git)، وعنوان URL لـ SSH للمستودع.
تأكد من صحة عنوان URL لـ SSH، لأن هذا هو ما سيتم استخدامه لتنزيل الحزمة وتثبيتها . إذا كنت تستخدم HTTPS بدلاً من SSH، فقم بتعديل علامة التعريف وفقًا لذلك.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3