开发工具安装

一、 docker与docker compose安装

如果已安装 Docker Desktop,则已经安装了完整的 Docker,包括 Docker Compose。

1、安装docker

在新主机上首次安装 Docker Engine 之前,您需要设置 Docker 版本库。之后,您可以从版本库安装和更新 Docker。

1)设置Docker 版本库

  1. 允许apt通过 HTTPS 使用存储库更新apt包索引并安装包:

    $ sudo apt-get update
    
    $ sudo apt-get install \
        ca-certificates \
        curl \
        gnupg \
        lsb-release
    
  2. 添加 Docker 的官方 GPG 密钥:

    $ sudo mkdir -p /etc/apt/keyrings
    $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    
  3. 使用以下命令设置版本库:

    $ echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
      $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

2)安装 Docker Engine

  1. 更新apt包索引,安装最新版本的 Docker Engine、containerd 和 Docker Compose,或者进入下一步安装特定版本:

     $ sudo apt-get update
     $ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
    

    运行 apt-get update 时收到 GPG 错误?

    您的默认 umask 可能设置不正确,导致无法检测到 repo 的公钥文件。运行以下命令,然后再次尝试更新您的存储库:

    sudo chmod a+r /etc/apt/keyrings/docker.gpg
  2. 要安装特定版本的 Docker Engine,请在 repo 中列出可用版本,然后选择并安装:

    a. 列出您的版本库中可用的版本:

    $ apt-cache madison docker-ce
    
    docker-ce | 5:20.10.16~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
    docker-ce | 5:20.10.15~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
    docker-ce | 5:20.10.14~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
    docker-ce | 5:20.10.13~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
    

    b. 使用第二列中的版本字符串安装特定版本,例如 5:20.10.16~3-0~ubuntu-jammy 。

    $ sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io docker-compose-plugin
    
  3. 通过运行 hello-world 镜像来验证 Docker Engine是否已正确安装。

    $ sudo service docker start
    $ sudo docker run hello-world
    

    此命令下载测试镜像并在容器中运行它。当容器运行时,它会打印一条消息并退出。

Docker Engine已安装并正在运行。该docker组已创建,但未向其中添加任何用户。需要使用sudo来运行 Docker 命令。

3)添加用户组(以非root用户身份管理Docker)

Docker 守护进程绑定到 Unix 套接字而不是 TCP 端口。默认情况下,Unix 套接字归root用户所有,其他用户只能使用sudo。 Docker 守护程序始终以root用户身份运行。

如果您不想在docker命令前加上sudo,请创建一个名为 Unix 组docker并将用户添加到其中。当 Docker 守护进程启动时,它会创建一个可供docker组成员访问的 Unix 套接字。

要创建docker组并添加您的用户:

  1. 创建docker组。

    $ sudo groupadd docker
  2. 将您的用户添加到docker组中。

    $ sudo usermod -aG docker $USER
  3. 注销并重新登录,以便重新评估您的组成员身份。

    如果在虚拟机上进行测试,可能需要重新启动虚拟机才能使更改生效。

    在桌面Linux环境(如X Windows)上,完全注销会话,然后重新登录

    在 Linux 上,您还可以运行以下命令来激活对组的更改:

    $ newgrp docker
  4. 验证您可以在没有sudo的情况下运行docker命令。

    $ docker run hello-world

    此命令下载测试镜像并在容器中运行它。当容器运行时,它会打印一条消息并退出。

    如果在将用户添加到Docker组之前使用sudo运行Docker CLI命令,您可能会看到以下错误,这表明您的~/.docker/目录是由于命令没有sudo权限导致的。

WARNING: Error loading config file: /home/user/.docker/config.json -
stat /home/user/.docker/config.json: permission denied

要解决此问题,请删除~/.docker/目录(它会自动重新创建,但会丢失任何自定义设置),或使用以下命令更改其所有权和权限:

$ sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
$ sudo chmod g+rwx "$HOME/.docker" -R

4)将 Docker 配置为开机启动

大多数当前的 Linux 发行版(RHEL、CentOS、Fedora、Debian、Ubuntu 16.04 和更高版本)用于systemd管理系统启动时启动的服务。在 Debian 和 Ubuntu 上,Docker 服务默认配置为在启动时启动。要在启动时为 Docker 和 Containerd自动启动其他发行版,请使用以下命令:

$ sudo systemctl enable docker.service
$ sudo systemctl enable containerd.service

要禁用此行为,请改用disable

$ sudo systemctl disable docker.service
$ sudo systemctl disable containerd.service

2、安装docker compose

要安装 Compose:

需先在 Linux 系统上设置 Docker 的版本库

1)使用存储库安装

注:这些说明假设您已经安装了 Docker Engine 和 Docker CLI,现在想要安装 Compose 插件。
对于 Compose Standalone,请参阅安装 Compose Standalone

如果已经设置了 Docker 版本库,请跳至第 2 步。

  1. 设置版本库。在以下位置查找特定于发行版的说明:

    Ubuntu | CentOS | Debian | Fedora | RHEL | SLES.

  2. 更新包索引,并安装最新版本的 Docker Compose:

    • Ubuntu, Debian:

        $ sudo apt-get update
        $ sudo apt-get install docker-compose-plugin
      
    • 基于 RPM 的发行版:

        $ sudo yum update
        $ sudo yum install docker-compose-plugin
      
  3. 通过检查版本来验证 Docker Compose 是否已正确安装。

    $ docker compose version
    Docker Compose version vN.N.N
    

其中vN.N.N是代表最新版本的占位符文本。

2)更新Compose

要更新 Compose,请运行以下命令:

  • Ubuntu, Debian:

      $ sudo apt-get update
      $ sudo apt-get install docker-compose-plugin
    
  • 基于 RPM 的发行版:

      $ sudo yum update
      $ sudo yum install docker-compose-plugin

3、配置docker镜像加速器

官方在国内的镜像加速地址:https://registry.docker-cn.com

在不同的操作系统下,配置加速器的方式略有不同,下文将介绍主要操作系统的配置方法:

第一种配置方法:

建议通过daemon config进行配置。使用配置文件/etc/docker/daemon.json(没有时新建该文件),添加以下内容(可添加多个镜像源),重新加载daemon.json文件并重启Docker。

{
    "registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com"]
}            
$sudo systemctl daemon-reload
$sudo systemctl restart docker
或
$sudo service docker restart

第二种配置方法:

打开Ubuntu的配置文件/etc/default/docker,只需要在这个配置文件中添加加速器的配置项,重启Docker即可。

方式1:打开/etc/default/docker文件(需要sudo权限),在文件的底部加上一行。

DOCKER_OPTS="--registry-mirror=https://registry.docker-cn.com"
$ sudo service docker restart
或
$sudo systemctl restart docker

方式二:使用命令行

$echo "DOCKER_OPTS=\"\$DOCKER_OPTS --registry-mirror=https://registry.docker-cn.com\"" | sudo tee -a /etc/default/docker
$sudo service docker restart     
或
$sudo systemctl restart docker       

二、go安装

# 安装包下载地址:
https://studygolang.com/dl - go语言中文网
https://go.dev/dl/  - go官网

1、环境变量(Go1.14及之后的版本不需要配置

GOROOTGOPATH都是环境变量,其中GOROOT是我们安装go开发包的路径,而从Go 1.8版本开始,Go开发包在安装完成后会为GOPATH设置一个默认目录,Go1.14版本之后,都推荐使用go mod模式来管理依赖环境了,也不再强制我们把代码必须写在GOPATH下面的src目录了,你可以在你电脑的任意位置编写go代码。所以也就不需要我们再自己配置GOPATH了,使用默认的即可。

如果想配,可以使用以下方法配

bashrc 与 profile 都用于保存用户的环境信息,bashrc用于非交互式non-loginshell,而profile用于交互式login shell。

~/.profile 可以设定本用户专有的路径,环境变量,等,它只能登入的时候执行一次
~/.bashrc 也是某用户专有设定文档,可以设定路径,命令别名,每次shell script的执行都会使用它一次

# 1. 使用wget工具下载安装包
    $ wget https://dl.google.com/go/go1.19.1.linux-amd64.tar.gz
# 2. 解压tar包到/usr/local
    $ sudo tar zxvf go1.19.1.linux-amd64.tar.gz -C /usr/local
# 3. 用vi打开~./bashrc,配置环境变量
    $ vim ~/.bashrc
# 4. 增加下面的环境变量,保存退出    
    export GOROOT=/usr/local/go
    export GOPATH=$HOME/go     #注: go1.8版本之后,默认生成GOPATH目录,即$HOME/go(/home/用户名/go)
    export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
# 5. 使环境变量立即生效, 一些命令二选一
    $ source ~/.bashrc      //~ 代表主目录
    $ . ~/.bashrc
# 6. 检测go是否安装好
    $ go version
#######################################################################################
1、下载二进制包:go1.19.1.linux-amd64.tar.gz。
2、将下载的二进制包解压至 /usr/local目录。
    tar -C /usr/local -xzf go1.19.1.linux-amd64.tar.gz
3、配置环境变量: Linux下有两个文件可以配置环境变量,其中/etc/profile是对所有用户生效的;
   $HOME/.profile是对当前用户生效的,根据自己的情况自行选择一个文件打开,添加如下两行代码,保存退出。
    export GOROOT=/usr/local/go
    export GOPATH=$HOME/go     #注: go1.8版本之后,默认生成GOPATH目录,即$HOME/go(/home/用户名/go)
    export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
   如果在终端执行以上两行命令,只能暂时添加 PATH,关闭终端下次再登录就没有了。
4、添加后需要执行以下命令生效:
    source ~/.profile
    或
    source /etc/profile

go官方安装方法

  1. 将下载的存档解压缩到 /usr/local,在 /usr/local/go 中创建一个 Go 树。

    重要提示:此步骤将在解压之前删除 /usr/local/go 上的先前安装(如果有)。请在继续之前备份所有数据

    例如,以root或通过sudo运行以下命令:

    rm -rf /usr/local/go && tar -C /usr/local -xzf go1.19.3.linux-amd64.tar.gz
  2. 将 /usr/local/go/bin 添加到PATH环境变量中。

    可以通过将以下行添加到您的 $HOME/.profile 或 /etc/profile (用于系统范围的安装)中做到这一点:

    export PATH=$PATH:/usr/local/go/bin

    注意:对配置文件所做的更改可能要等到您下次登录计算机时才会生效。要立即应用更改,只需直接运行 shell 命令或使用诸如  source $HOME/.profile.

  3. 通过打开命令提示符并键入以下命令来验证您是否已安装 Go:
    $ go version
  4. 确认该命令打印已安装的 Go 版本。

2、GOPROXY

默认GoPROXY配置是:GOPROXY=https://proxy.golang.org,direct,由于国内访问不到https://proxy.golang.org,所以我们需要换一个PROXY,这里推荐使用https://goproxy.iohttps://goproxy.cn

可以执行下面的命令修改GOPROXY:

//全局生效
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
或者
//当前终端生效(优先级高,即当前终端设置完代理之后,在其他终端再次设置新的代理,只要当前终端不关闭,新设置的代理对当前终端不生效)
export GO111MODULE=on
export GOPROXY=https://goproxy.cn

三、protoc相关安装

首先确定自己当前linux版本(当前版本为x86_64)

uname -a
Linux localhost.localdomain 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 16:36:51 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

1、protoc安装

命令行安装:

注:请尽量采用包管理器方式进行安装,以确保安装的完整性。

//Linux, using apt or apt-get, for example:
apt install -y protobuf-compiler
protoc --version  // Ensure compiler version is 3+

安装包安装:

如果一定要自行下载zip包安装预编译的版本或自行编译安装,请参考zip包中readme.txt文件的说明进行操作,确保include下的所有东西(通常是google目录,里面是一系列.proto后缀的文件)都已经正确放置在您的include路径下,如/usr/local/include/目录中,以确保protoc在编译过程中能成功找到。

我们把protoc放在/usr/local/bin可执行程序目录中,这样全局都可以访问到,同时把include目录的内容也复制到/usr/local/include/

注:解压protoc压缩包后,可以看到 readme.txt文件

大致意思是安装protoc,只需将bin目录下的二进制文件放在某个位置就行,如果打算用其中包含的其他类型,就需要将include目录下的内容也复制到某个地方,例如输入/usr/local/include/

第一种:直接解压到/usr/local/目录下,执行一下命令;

进入protoc页面,选择适合自己操作系统的压缩包文件,解压到目录中

unzip protoc-21.6-linux-x86_64.zip -d /usr/local/

此时,/usr/local/bin/下面就会出现protoc。

第二种:

1)进入protoc 页面,选择适合自己操作系统的压缩包文件

2)解压protoc-x.x.x-x86_64.zip并进入protoc-x.x.x-x86_64文件夹下的bin目录

cd protoc-x.x.x-x86_64/bin

3)将文件夹里的protoc二进制文件移动到path(被添加到环境变量的任意path)下。(如$GOPATH/bin,不建议直接将其和系统下的path放在一起。$GOPATH为你本机的实际文件夹地址)

mv protoc /usr/local/bin

注:如果不打算用其中的其他类型,则protoc的安装到此就结束了。如果打算用其中包含的其他类型,就需要将include目录下的内容也复制到其他地方,则需要继续按照以下步骤进行安装。

4)进入protoc-x.x.x-x86_64文件夹下的include目录

cd protoc-x.x.x-x86_64/include

5)include目录的内容也复制到/usr/local/include/

mv google /usr/local/include

6)查看安装结果

protoc --version
libprotoc x.x.x

2、protoc-gen-go/protoc-gen-go-grpc 安装

第一种:执行以下命令即可 

//会自动安装到默认的GOPATH的bin(安装go时自动生成的)目录下
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest

第二种:安装包建议解压安装到$GOPATH/bin中

进入protoc-gen-go 以及protoc-gen-go-grpc页面,下载对应的安装包

直接解压到目录中或解压后移动到 /usr/local/bin (或$GOPATH/bin)目录中

tar zxvf protoc-gen-go.v1.28.1.linux.amd64.tar.gz -C /usr/local/bin

3、其他

//会自动安装到默认的GOPATH的bin(安装go时自动生成的)目录下
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
go install github.com/go-kratos/kratos/cmd/protoc-gen-go-http/v2@latest
go install github.com/google/gnostic/cmd/protoc-gen-openapi@latest

四、grpc安装

// grpc (或者git clone https://github.com/grpc/grpc-go 然后复制到google.golang.org/grpc)
go get -u google.golang.org/grpc

五、Wire安装

搜索 Google wire,在GitHub中找到wire的安装命令进行安装

go install github.com/google/wire/cmd/wire@latest

问题一:

安装好wire之后,在wire.go的同级目录的终端执行wire命令即可生成wire_gen.go。若在使用wire命令的时候出现如下错误,说明有使用cgo调用c的库。

 解决办法:

1、Windows系统

1)下载mingw64,并安装

2)将安装目录下的bin文件夹目录添加到Path环境变量中

3) 测试是否安装成功

打开cmd命令行,输入:

gcc -v

如果出现版本信息,则表示安装成功。

MinGW64说明:

 可在mingw64(即下图所在链接)下载对应的安装包,或者在线安装(对应的选项解释如下)

x86_64 是64位,i686 是32位的意思
posix 是跨平台的意思,win32 仅限Windows
尾缀是指生成的可执行程序和dll所运行的位数,sjlj可以运行在32位也可以运行在64位,seh仅限运行在64位,drawf仅限32位

最新版最新版

  或Summary 最新版

2、Linux系统

1. 安装GCC

sudo apt-get update    //如果下载特别慢,可以先进行升级
//以下选择其中一个进行安装即可
sudo apt-get build-dep gcc
sudo apt-get install gcc
sudo apt-get install build-essential  //包含 GCC 和其他各种编译器,如 g++ 和 make

2. 查看是否安装成功

gcc --version

 注:查看该软件包的依赖关系(此步骤不影响安装,仅仅是查看依赖关系等):

apt-cache depends build-essential

问题二:

安装好gcc之后,再次执行wire,有可能会出现以下错误

执行 sudo apt-get install build-essential 可能出现以下错误(遇到类似的问题都可以用方法1去找对应的包进行解决):

解决方法1、下载安装包进行安装

        1)去https://pkgs.org搜索libc6,找到libc6 (= 2.35-0ubuntu3)的deb包,并下载。

 点击进去,选择如下二进制链接进行下载包

         2)按照下列命令安装即可:

sudo apt install ./libc6_2.35-0ubuntu3_amd64.deb

 需要查看自己系统相关的信息可以参考以下命令

//查看内核版本
cat /proc/version     
uname -a
uname -r

//查看linux版本信息
lsb_release -a
cat /etc/issue
cat /etc/os-release

//查看linux是64位还是32位
getconf LONG_BIT
file /bin/ls

//直接查看系统的架构
dpkg --print-architecture
arch
file /lib/systemd/systemd

解决方法2、换源

可以通过 查看自己系统上的版本号,根据自己的系统版本换对应版本的源

lsb_release -a

 部分Ubuntu系统LTS版本代号

Ubuntu 16.04 代号为:xenial

Ubuntu 17.04 代号为:zesty

Ubuntu 18.04 代号为:bionic

Ubuntu 19.04 代号为:disco

Ubuntu 20.04 代号为:focal

Ubuntu 22.04 代号为:jammy

1、通过界面换源

 

在“下载自(或from)”里选择“其他(other)”,选择阿里源, 最后点击“关闭”,等重新载入完成即可

2、通过编辑文件换源

换阿里源,编辑这个文件。

sudo gedit /etc/apt/sources.list
#阿里源 Ubuntu22.04
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse

换源之后,执行命令进行更新

sudo apt-get update
sudo apt-get upgrade

再执行安装命令,就会安装成功,会发现执行wire时出现的问题也就解决了

sudo apt-get install build-essential

猜你喜欢

转载自blog.csdn.net/fbbqt/article/details/126974442