GO-环境配置番外

这篇文章主要讲解一下几个要素
1. 设置的那些环境变量是啥
2. 为什么是在.bash_profile这个文件中修改

设置的那些环境变量是啥?为什么要设置?

  1. GOROOT: 指向系统安装路径
  2. GOPATH: 指向工作路径
  3. GOBIN: go的可执行文件的路径
myWork  // (myWork为GOPATH目录)
  -- bin  // go编译可执行文件存放路径,可自动生成。(若没有配置GOBIN则不会自动生成)
  -- pkg  // go编译的.a中间文件存放路径,可自动生成。
  -- src  // 源码路径。按照golang默认约定,go run,go install等命令的当前工作路径(即在此路径下执行上述命令)。

设置GOROOT的作用

  • 就是指向go的安装路径

设置GOPATH的作用

  • GOPATH是用来存放编译后二进制文件的
  • 假如不给项目配置GOPATH, 那么go install,go get和 下载的第三方go工具等都会无法使用, 且无法正常import包

设置GOBIN的作用

  • go install编译存放路径,若没有配置,则在go install后默认在GOPATH下的bin目录

为什么是在.bash_profile这个文件中修改

参考文章: http://www.joshstaiger.org/archives/2005/07/bash_profile_vs.html

环境变量可在那几个文件下配置,有什么区别

  • /etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.
  • /etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
  • ~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
  • ~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取.

为何在mac中改的是.bash_profile文件

  1. 当前的环境变量只需要当前计算机的用户使用就行,因此无需前往更目录修改
  2. mac会默认为每个新的终端窗口运行一个登录shell,因此每次打开一个新窗口默认只会调用.bash_profile,不会调用.bashrc

配置oh-my-zsh后,新开一个终端窗口不会默认执行.bash_profile

原因: 当配置了zsh后,terminal init的时候并不会执行~/.bash_profile~/.bashrc等脚本了,这是因为其默认启动执行脚本变为了~/.zshrc
解决:~/.zshrc文件中的末尾添加 source ~/.bash_profile即可,也可直接讲全局变量设置在.zshrc

你可能感兴趣的:(GO-环境配置番外)