Go

Материал из MediaWiki
Перейти к навигации Перейти к поиску

The Go Programming Language

Go Env

mkdir -p ~/gocode/{bin,src,pkg}

cat <<EOF>> ~/.profile
if [ -d "$HOME/gocode" ]; then
        export GOPATH=$HOME/gocode
        export PATH=$PATH:$GOPATH/bin
fi
EOF

Устанавливаем свежую версию для Debian/Ubuntu

sudo apt-get install golang
go get gopkg.in/niemeyer/godeb.v1/cmd/godeb
sudo apt-get remove golang
godeb install

Info: go из репозитория нужен только для bootstrap.

Альтернативно доступны так же готовые сборки инсталлятора для 32/64 бит: смотри https://github.com/niemeyer/godeb.


Go‐get’able Git‐repo и nginx

Если у вас есть свой Git‐репозиторий и вы хотите, чтобы из него можно было ставить пакеты через go get, то ниже приведены два примера, как можно добиться этого при помощи nginx.

CGit + https

Добавьте в конфиг cgit:

clone-url=https://$HTTP_HOST$SCRIPT_NAME/$CGIT_REPO_URL

И в конфиг nginx:

if ($arg_go-get = 1) {
        return 200 '<meta name="go-import" content="$host$uri git https://$host/cgi-bin/cgit.cgi$uri.git"/>\n';
}

GitLab + SSH

if ($arg_go-get = 1) {
        return 200 '<meta name="go-import" content="$host$uri git ssh://git@$host$uri.git"/>\n';
}

ref: https://golang.org/cmd/go/#hdr-Remote_import_paths
ref: https://www.dim13.org/go-get-cgit