Использование «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; }
Когда к указанному URL-адресу отправляются запросы go get с аргументом go-get=1, будет возвращен предоставленный метатег. Этот метатег включает путь импорта, тип контроля версий (git) и URL-адрес SSH для репозитория.
Убедитесь, что URL-адрес SSH верен, поскольку именно он будет использоваться go для загрузки и установки пакета. . Если вы используете HTTPS вместо SSH, измените метатег соответствующим образом.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3