Informática de servicio (1) -instale el entorno de desarrollo de lenguaje go


Sistema operativo y hardware del sistema

Linux, Centos7

Proceso de instalación

1. Instale la máquina virtual Centos7

Se usa VirtualBox, solo descargue la imagen de Centos7 e instálela.

Descarga del espejo Centos7

Instalación de la máquina virtual Centos7

Inserte la descripción de la imagen aquí

Vale la pena señalar que si desea instalar una interfaz gráfica, debe seleccionar el escritorio GNOME donde se selecciona el software durante el proceso de instalación.

2. Instale el editor VSCode

En primer lugar, para descargar de forma más rápida y conveniente, primero puede cambiar la fuente de Centos a la fuente Tsinghua.

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

Luego, cambie el contenido del archivo /etc/yum.repos.d/CentOS-Base.repo a:

# 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

Puede usar vi directamente para editar archivos.

Finalmente, ejecute el siguiente comando:

sudo yum makecache

Debe instalar snapd antes de instalar VSCode (se puede ignorar la instalación)

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

Después de instalar snapd, puede instalar VSCode.

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

3. Instala golang

3.1 Instalación

sudo yum install golang --nogpgcheck

-Nogpgcheck se usa para omitir la verificación de la clave pública; de lo contrario, le indicará que la clave pública xxx.rpm no se ha instalado.

3.2 Establecer variables de entorno

Edite el archivo ~ / .profile a través de vi, y no importa si este archivo no existe (es decir, se muestra como un archivo nuevo). Agregue en el archivo:

export GOPATH=$HOME/gowork

export PATH=$PATH:$GOPATH/bin

Finalmente realice estas configuraciones

source $HOME/.profile

3.3 crea hola mundo

Reinicie la máquina virtual mediante el comando reboot.

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

Luego cree hello.go en este directorio.

package main

import "fmt"

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

Finalmente, ejecútelo en la terminal.

$ go run hello.go
hello, world

4. Instale las herramientas y complementos necesarios

4.1 instalar el cliente Git

sudo yum install git --nogpgcheck

(Tenga en cuenta que si no se ha instalado la clave pública xxx.rpm, también se debe agregar el sufijo –nogpgcheck)

4.2 Algunas herramientas 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

En este momento, ingresé VSCode y lo instalé de acuerdo con las instrucciones. Aún falló. Encontré algunos blogs en Internet y no funcionó. Si encuentra dificultades, no lo haga y duerma bien por la noche .

Pero ejecutar en la terminal todavía no es un problema, VSCode se reduce temporalmente a una completa herramienta de edición de archivos "pura" .

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

5. Instalar y ejecutar go tour

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

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

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

Finalmente, ejecute el recorrido.

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

6. Mi primer paquete y prueba

6.1 Escribir una biblioteca stringutil

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

A continuación, cree un archivo llamado reverse.go en este directorio:

// 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

Modificar 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 Prueba

Cree un archivo, $ 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)
		}
	}
}

Inserte la descripción de la imagen aquí

6.3 Paquete remoto

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

Resumen de preguntas o puntos

Además del problema mencionado anteriormente de omitir la verificación de la clave pública mediante -nogpgcheck para resolver el problema de que la clave pública xxx.rpm no se ha instalado, debe instalar la herramienta de red en el directorio $ GOPATH / src / golang.org / x / antes de instalar el recorrido. paquete. Al mismo tiempo, comparta una solución de expansión de disco duro de máquina virtual aquí, expansión de disco Centos7 en VirtualBox .

Inserte la descripción de la imagen aquí

Sin suficiente espacio en el disco duro, no se puede instalar el entorno experimental.

Enlace de blog de referencia

Instalar Snapd en CentOS 7

Cuando se usa el instalador de yum, indica que la clave pública xxx.rpm no se ha instalado

Expansión de disco Centos7 en VirtualBox

Supongo que te gusta

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