zjc 2020-09-03
安装golang
使用homebrew安装golang。homebrew是MacOS 平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等功能。开发者不需要关心依赖和文件路径。如果系统没有安装homebrew,终端内执行以下命令安装homebrew。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
安装完homebrew后执行以下命令安装golang,如果下载过慢可能是由于网络原因,可以通过更改homebrew的镜像地址或者开启科学上网解决。
brew install golang
配置环境变量
安装成功后,执行 go env 查看golang的环境变量。顺便可以测试是否安装成功。在本地的shell。配置相应环境变量。
zsh执行 vim ~/.zshrc,bash vim ~/.bashrc。从交互及易用的角度zsh更好一些,zsh完全兼容bash,并且提供自动补全的功能。如果shell默认不是zsh。可以通过如下命令切换默认zsh,并安装oh-my-zsh。oh-my-zsh 是基于 zsh 命令行的一个扩展工具集,提供了丰富的扩展功能。
sudo chsh -s zsh sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
然后在~/.zshrc 声明环境变量,下面的示例中设置GOPATH为根目录下的golang目录,可以指定自己的目录为GOPATH。
export GOPATH=$HOME/golang export GOROOT=/usr/local/opt/go/libexec export GOPROXY=https://goproxy.cn,direct
安装完成执行 source ~/.zshrc,或者重新打开shell,使环境变量生效。GOROOT
就是golang的安装路径。GOPATH
作为 Go 语言的环境变量,相当于个人的工作区,每个工作区中都会有以代码包为基本组织形式的源码文件。goalng的项目必须放在GOPATH路径下,才能正常执行。这个目录用来存放Go源码,Go的可运行文件,以及相应的编译之后的包文件。这个目录下有三个子目录:src、bin、pkg。
按照约定这三个目录的作用是:
GOPROXY
如果设置完成该变量,下载源代码时将会通过该环境变量设置的代理地址,不会直接从代码库下载。而且某些代码库所在服务器需要科学上网才可以访问。设置GOPROXY
可以避免由于网络环境的原因下载不了某些代码库。GOPRIVATE
正常情况下是从公共镜像 goproxy.io
上下载依赖包,并且会对下载的软件包和代码库进行安全校验,所以设置环境变量 GOPRIVATE
,可以对指定仓库地址,跳过 proxy server 和校验检查。
通过设置GONOPROXY
和 GONOSUMDB
等环境变量。 可以更灵活的控制哪些依赖软件包经过 proxy server 和 sumdb 校验,这两个环境变量的被设置后将覆盖 GOPRIVATE 环境变量。GONOSUMDB
通过这个环境变量设置不做校验的代码仓库地址。设置完成后从该地址上下载的依赖都不需要做校验。
Goland设置
VSCode需要额外配置插件,这里不讨论VSCode,如果团队开发使用Goland比较方便管理。毕竟Jenbrains家族的产品,从开发效率上来说,是极高的。但是还是希望懂得底层远离。不要离开IDE就不会写代码,无法启动项目。
IDE的额外配置:
1.自动保存格式化。避免因代码未格式化提交到git历史里。Preferences ->Plugins
搜索 save actions,然后设置自动保存格式化。
2.设置goimports 格式化代码。Preferences -> Tools -> File Watchers
。添加goimports 然后设置本地包单独分组参数。
-local amap-aos -w $FilePath$
3.项目配置
在 Goland 的右上方找到“Add Configuration”并单击。在弹出的窗口中点击“+”,并在下拉菜单中选择“Go Build”。点击“Go Build”之后,在窗口中填写对应的信息。
设置完成后就可以使用Goland在本地启动项目,注意项目代码要放在GOPATH下。
总结
5.环境变量配置在linux系统下,需要将可执行文件配置到环境变量或将文件移动到属于环境变量的目录里面方法一:将文件移动到属于环境变量目录中sudo mv chromedriver /user/bin
写脚本涉及到数据库的配置信息,然后上面要求这种关键信息不能体现到脚本中,哦,那怎么办,那我去哪里读取数据库信息呢?从运行脚本的机器的环境变量里读取数据库信息,这样脚本中全是代码,就没有明文配置信息了。