1 环境搭建

1 环境搭建 (Ubuntu 20.04)

  • 添加普通用户
useradd going # 创建 going 用户,通过 going 用户登录开发机进行开发
passwd going # 设置密码

Changing password for user going.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
  • 添加sudoers
# 普通用户就可以(不用密码)通过 sudo 命令来暂时获取 Root 的权限
sed -i '/^root.*ALL=(ALL).*ALL/a\going\tALL=(ALL) \tALL' /etc/sudoers
  • $HOME/.bashrc (根据个人需要选择是否配置)
# .bashrc
 
# User specific aliases and functions
 
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
 
# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi
 
# User specific environment
# Basic envs
export LANG="en_US.UTF-8" # 设置系统语言为 en_US.UTF-8,避免终端出现中文乱码
export PS1='[\u@dev \W]\$ ' # 默认的 PS1 设置会展示全部的路径,为了防止过长,这里只展示:"用户名@dev 最后的目录名"
export WORKSPACE="$HOME/workspace" # 设置工作目录
export PATH=$HOME/bin:$PATH # 将 $HOME/bin 目录加入到 PATH 变量中
 
# Default entry folder
cd $WORKSPACE # 登录系统,默认进入 workspace 目录
  • 配置Git
git config --global user.name "bmxm"    # 用户名改成自己的
git config --global user.email "bmwxm@outlook.com"    # 邮箱改成自己的
git config --global credential.helper store    # 设置 Git,保存用户名和密码
git config --global core.longpaths true # 解决 Git 中 'Filename too long' 的错误

git config --global core.quotepath off # 在 Git 中,非 ASCII 字符也叫Unusual 字符,在 Git 输出到终端的时候默认是用 8 进制转义字符输出的(以防乱码),但现在的终端多数都支持直接显示非 ASCII 字符,所以我们可以关闭掉这个特性

# 如果你觉得访问 github.com 太慢,可以通过国内 GitHub 镜像网站来访问,配置方法如下
# 注意,通过镜像网站访问仅对 HTTPS 协议生效,对 SSH 协议不生效,并且 github.com.cnpmjs.org 的同步时间间隔为 1 天
git config --global url."https://github.com.cnpmjs.org/".insteadOf "https://github.com/"

# GitHub 限制最大只能克隆 100M 的单个文件,为了能够克隆大于 100M 的文件,我们还需要安装 Git Large File Storage
git lfs install --skip-repo
  • 配置Go环境
wget https://golang.google.cn/dl/go1.17.2.linux-amd64.tar.gz -O /tmp/go1.17.2.linux-amd64.tar.gz

mkdir -p $HOME/go
tar -xvzf /tmp/go1.17.2.linux-amd64.tar.gz -C $HOME/go
mv $HOME/go/go $HOME/go/go1.17.2

追加环境变量

tee -a $HOME/.bashrc <<'EOF'

export GOVERSION=go1.17.2 # Go 版本设置
export GO_INSTALL_DIR=$HOME/go # Go 安装目录
export GOROOT=$GO_INSTALL_DIR/$GOVERSION # GOROOT 设置
export GOPATH=$GOROOT/gopath # GOPATH 设置
export PATH=$GOROOT/bin:$GOPATH/bin:$PATH # 将 Go 语言自带的和通过 go install 安装的二进制文件加入到 PATH 路径中
export GO111MODULE="on" # 开启 Go moudles 特性
export GOPROXY=https://goproxy.cn,direct # 安装 Go 模块时,代理服务器设置
export GOPRIVATE=
export GOSUMDB=off # 关闭校验 Go 依赖包的哈希值
EOF
  • ProtoBuf 编译环境安装

# 第一步:安装 protobuf
cd /tmp/
git clone --depth=1 https://github.com/protocolbuffers/protobuf
cd protobuf

./autogen.sh
# 可能会提示./autogen.sh: 41: autoreconf: not found
# 执行 sudo apt-get install autoconf automake libtool

./configure
# 可能会提示 configure: error: C++ preprocessor "/lib/cpp" fails sanity check
# 执行 sudo apt-get install build-essential g++

make
sudo make install
protoc --version # 查看 protoc 版本,成功输出版本号,说明安装成功
# 可能会报错 : protoc: error while loading shared libraries: libprotoc.so.30: cannot open shared object file: No such file or directory
# 再.bashrc 中加 export LD_LIBRARY_PATH=/usr/local/lib
# bash 或 source


# 第二步:安装 protoc-gen-go
go get -u github.com/golang/protobuf/protoc-gen-go

  • 配置NeoVim
# 老版本的Ubuntu可能需要先安装PPA
# sudo apt-get install software-properties-common

sudo apt-add-repository ppa:neovim-ppa/stable
sudo apt-get update
sudo apt-get install neovim

# 配置 nvim 的别名为 vi,这样当我们执行 vi 时,Linux 系统就会默认调用 nvim。同时,配置 EDITOR 环境变量可以使一些工具
tee -a $HOME/.bashrc <<'EOF'
# Configure for nvim
export EDITOR=nvim # 默认的编辑器(git 会用到)
alias vi="nvim"
EOF
  • 配置SpaceVim
# SpaceVim是一个开源的模块化配置集合,可以通过它很方便的打造出适用于各种开发场景的IDE。
curl -sLf https://spacevim.org/cn/install.sh | bash

# SpaceVim 安装 Go 工具
# 这里提供了两种方式
# 1 - Vim 底线命令安装:vi test.go,然后执行::GoInstallBinaries 安装。
# 2 - 拷贝工具:直接将整理好的工具文件拷贝到$GOPATH/bin 目录下
cd /tmp
wget https://marmotedu-1254073058.cos.ap-beijing.myqcloud.com/tools/gotools-for-spacevim.tgz
mkdir -p $GOPATH/bin
tar -xvzf gotools-for-spacevim.tgz -C $GOPATH/bin

posted @ 2022-01-26 13:39  bm小明  阅读(89)  评论(0编辑  收藏  举报