Serviço de computação (1) -instalar ambiente de desenvolvimento de linguagem go


Hardware do sistema e sistema operacional

Linux , Centos7

Processo de instalação

1. Instale a máquina virtual Centos7

Se utiliza o VirtualBox, basta baixar a imagem do Centos7 e instalá-lo.

Baixar espelho Centos7

Instalação da máquina virtual Centos7

Insira a descrição da imagem aqui

É importante notar que se você deseja instalar uma interface gráfica, você precisa selecionar a área de trabalho GNOME onde o software é selecionado durante o processo de instalação.

2. Instale o editor VSCode

Em primeiro lugar, para fazer um download mais rápido e conveniente, você pode primeiro alterar a fonte Centos para a fonte Tsinghua.

sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

Em seguida, altere o conteúdo do arquivo /etc/yum.repos.d/CentOS-Base.repo para:

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#


[base]
name=CentOS-$releasever - Base
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-7

#released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-7



#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-7



#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-7

Você pode usar o vi diretamente para editar arquivos.

Finalmente, execute o seguinte comando:

sudo yum makecache

Você precisa instalar o snapd antes de instalar o VSCode, (instalado pode ser ignorado)

sudo yum makecache

sudo yum install yum-plugin-copr

sudo yum copr enable ngompa/snapcore-el7

sudo yum -y install snapd

sudo systemctl enable --now snapd.socket

sudo ln -s /var/lib/snapd/snap /snap

Depois de instalar o snapd, você pode instalar o VSCode.

sudo snap install --classic code # or code-insiders

3. Instale o golang

3.1 Instalação

sudo yum install golang --nogpgcheck

-Nogpgcheck é usado para pular a verificação da chave pública, caso contrário, ele avisará que a chave pública xxx.rpm não foi instalada.

3.2 Definir variáveis ​​de ambiente

Edite o arquivo ~ / .profile através do vi, e não importa se esse arquivo não existe (ou seja, ele é exibido como um novo arquivo). Adicionar no arquivo:

export GOPATH=$HOME/gowork

export PATH=$PATH:$GOPATH/bin

Por fim, execute essas configurações

source $HOME/.profile

3.3 criar olá, mundo

Reinicie a máquina virtual por meio do comando reboot.

mkdir $GOPATH/src/github.com/github-user/hello -p

Em seguida, crie hello.go neste diretório.

package main

import "fmt"

func main() {
    fmt.Printf("hello, world\n")
}

Finalmente, execute-o no terminal.

$ go run hello.go
hello, world

4. Instale as ferramentas e plug-ins necessários

4.1 instalar o cliente Git

sudo yum install git --nogpgcheck

(Observe que se a chave pública xxx.rpm não tiver sido instalada, o sufixo –nogpgcheck também deve ser adicionado)

4.2 Algumas ferramentas para instalar go

mkdir $GOPATH/src/golang.org/

mkdir $GOPATH/src/golang.org/x/

go get -d github.com/golang/tools

cp $GOPATH/src/github.com/golang/tools $GOPATH/src/golang.org/x/ -rf

go install golang.org/x/tools/go/buildutil

Neste momento, entrei no VSCode e instalei de acordo com os prompts. Ainda falhou. Encontrei alguns blogs na Internet e não funcionou. Se você encontrar dificuldades, não faça isso e tenha uma boa noite de sono .

Mas a execução no terminal ainda não é problema, VSCode temporariamente reduzido a uma ferramenta de edição de arquivo "pura" completa .

$ go install github.com/github-user/hello
$ hello
hello, world

5. Instale e execute o tour go

cd $GOPATH/src/golang.org/x/

git clone https://github.com/golang/net

go get -u github.com/Go-zh/tour

Finalmente, execute o tour.

Insira a descrição da imagem aqui
Insira a descrição da imagem aqui

6. Meu primeiro pacote e teste

6.1 Escreva uma biblioteca stringutil

mkdir $GOPATH/src/github.com/github-user/stringutil

Em seguida, crie um arquivo chamado reverse.go neste diretório:

// stringutil 包含有用于处理字符串的工具函数。
package stringutil

// Reverse 将其实参字符串以符文为单位左右反转。
func Reverse(s string) string {
	r := []rune(s)
	for i, j := 0, len(r)-1; i < len(r)/2; i, j = i+1, j-1 {
		r[i], r[j] = r[j], r[i]
	}
	return string(r)
}

go build github.com/github-user/stringutil

Modifique hello.go:

package main

import (
	"fmt"

	"github.com/github-user/stringutil"
)

func main() {
	fmt.Printf(stringutil.Reverse("!oG ,olleH"))
}
$ go install github.com/github-user/hello
$ hello
Hello, Go!

6.2 Teste

Crie um arquivo, $ GOPATH / src / github.com / user / stringutil / reverse_test.go:

package stringutil

import "testing"

func TestReverse(t *testing.T) {
	cases := []struct {
		in, want string
	}{
		{"Hello, world", "dlrow ,olleH"},
		{"Hello, 世界", "界世 ,olleH"},
		{"", ""},
	}
	for _, c := range cases {
		got := Reverse(c.in)
		if got != c.want {
			t.Errorf("Reverse(%q) == %q, want %q", c.in, got, c.want)
		}
	}
}

Insira a descrição da imagem aqui

6.3 Pacote remoto

$ go get github.com/golang/example/hello
$ $GOPATH/bin/hello
Hello, Go examples!

Resumo da pergunta ou ponto

Além do problema mencionado acima de pular a verificação da chave pública por -nogpgcheck para resolver o problema de que a chave pública xxx.rpm não foi instalada, você precisa instalar a ferramenta net no diretório $ GOPATH / src / golang.org / x / antes de instalar o tour. pacote. Ao mesmo tempo, compartilhe uma solução de expansão de disco rígido de máquina virtual aqui, a expansão de disco Centos7 no VirtualBox .

Insira a descrição da imagem aqui

Sem espaço suficiente no disco rígido, o ambiente do experimento não pode ser instalado.

Link do blog de referência

Instale o Snapd no CentOS 7

Ao usar o instalador yum, ele avisa que a chave pública xxx.rpm não foi instalada

Expansão do disco Centos7 no VirtualBox

Acho que você gosta

Origin blog.csdn.net/qq_43278234/article/details/108566781
Recomendado
Clasificación