Как клонировать репозиторий в go?

У меня возникли проблемы с клонированием моего репозитория go на мой локальный компьютер.

Я использую Ubuntu 18 и выполнил полную переустановку, выполнив следующие команды:

dpkg -l|grep golang  #  if you see any, run following cmd to remove
sudo apt-get purge golang-*

sudo rm -rf /usr/local/go 

ew_golang_ver=$(curl https://golang.org/VERSION?m=text 2> /dev/null)
cd /tmp
wget https://dl.google.com/go/${new_golang_ver}.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf  ${new_golang_ver}.linux-amd64.tar.gz

Added these to bashrc
export PATH=/usr/local/go/bin:${PATH}
export GOPATH=${HOME}/gopath  # typical value change at will
export PATH=${GOPATH}/bin:${PATH}

source ~/.bashrc  

go version

выходы

 go version go1.13 linux/amd64

Теперь у меня есть репозиторий с проектом go на коммите AWS Code, который я хотел бы клонировать. Это команды, которые я пробовал, и вывод:

go get ssh://git-codecommit.eu-west-1.amazonaws.com/v1/repos/myGoRepo
package ssh:/git-codecommit.eu-west-1.amazonaws.com/v1/repos/myGoRepo: ssh:/git-codecommit.eu-west-1.amazonaws.com/v1/repos/myGoRepo: invalid import path: malformed import path "ssh:/git-codecommit.eu-west-1.amazonaws.com/v1/repos/myGoRepo": invalid char ':'

go get https://git-codecommit.eu-west-1.amazonaws.com/v1/repos/myGoRepo
package https:/git-codecommit.eu-west-1.amazonaws.com/v1/repos/myGoRepo: https:/git-codecommit.eu-west-1.amazonaws.com/v1/repos/myGoRepo: invalid import path: malformed import path "https:/git-codecommit.eu-west-1.amazonaws.com/v1/repos/myGoRepo": invalid char ':'

go get git-codecommit.eu-west-1.amazonaws.com/v1/repos/myGoRepo
package git-codecommit.eu-west-1.amazonaws.com/v1/repos/myGoRepo: unrecognized import path "git-codecommit.eu-west-1.amazonaws.com/v1/repos/myGoRepo" (parse https://git-codecommit.eu-west-1.amazonaws.com/v1/repos/myGoRepo?go-get=1: no go-import meta tags ())

Я могу сделать git clone просто отлично.

Итак, это приводит меня к двум вопросам:

  1. Можно ли вообще использовать команду go get с AWS Code Commit?
  2. Могу ли я использовать команду git clone, а затем установить проект другим способом? Где мне его клонировать? Какие команды go использовать? В моем проекте у меня есть файл setup.go, который генерирует некоторые файлы, а также папку cmd с другим файлом go с моей основной функцией.

person palle1    schedule 25.09.2019    source источник
comment
Вы можете клонировать любой репозиторий git, какой хотите, но это делается через git clone, а не через go get. Доступны только некоторые сайты, размещающие код, и сайты с пользовательскими заголовками. И, пожалуйста, устанавливайте Go только из официальных источников.   -  person Volker    schedule 25.09.2019
comment
И что мне делать после того, как я клонировал репо? Как установить зависимости? Я попробовал cd в проект, а затем запустил go get ./... но это не приводит к установке места для каталога /home/me/projects/myGoRepo/cmd/history-parse вне GOPATH   -  person palle1    schedule 25.09.2019
comment
Делать Go get./... это чистая чепуха. Получите все пакеты, отличные от stdlib.   -  person Volker    schedule 25.09.2019


Ответы (1)


Клонируйте репозитории с помощью git clone. Чтобы сделать go get ./... внутри репозитория myGoRepo для установки всех его пакетов зависимостей, вам нужно разместить репозиторий где-то внутри GOPATH, который в вашем случае $HOME/gopath. например, $HOME/gopath/src/myGoRepo

person Junia Antony    schedule 25.09.2019