https://blog.csdn.net/needkane/article/details/36891949

https://www.jianshu.com/p/4f79ae4f081c 

http://www.runoob.com/go/go-environment.html

 https://www.cnblogs.com/tomato0906/articles/6048383.html

 

今天第一天入职seven,很开心,同事很不错,shell人也很好

第一天我的任务很轻松,各种安装配置,讲实话linux的qq真是菜,go语言安装很让人纠结,幸好先前在centos下安装过,这种时常会连接国外网的东东,网络总让我无语

这感觉就像一路的芳香我不停琢磨

ok开始安装

 

1.安装gcc工具,因为golang有些功能是使用c写

sudo apt-get install bison gawk gcc libc6-dev make

2.安装Mercurial(若是用安装包可以忽略这步)

由于Go的源码是通过Mercurial进行管理的, 所以需要先安装Mercurial来实现Go源码的获取,一次执行一下命令:

sudo apt-get install python-setuptools
sudo apt-get install pythone-dev
sudo apt-get install build-essential
sudo apt-get install mercurial

获取代码
  1. $ hg clone -r release https://go.googlecode.com/hg/ go 
若是用安装包直接解压 http://download.csdn.net/detail/u010026901/7592581

 

cd /usr/local

tar -zxvf go1.1.2.linux-386.tar.gz(先把安装包移到这个目录)

 

3.安装

 

$ cd go/src,$ ./all.bash

运行bash脚本,如果运行正常会获得你的操作系统和cpu信息,自动编译安装

 

4.配置~/.bashrc(个人用户环境)或者/etc/profile(全局环境)。设置后如果需要生效,请保存后执行 source /etc/profile命令

注意最后两行,地址GOROOT地址是根据实际情况来的

5.用go version查看下,有版本结果就是对的

 

go卸载

这次我的go安装既用了安装版也用了解压缩版,在make go的项目时候出现冲突

现在卸载安装版 man apt-get 查找卸载命令

卸载apt-get purge go 不成功

改用apt-get purge golang 提示删除多个子目录

后改用apt-get purge golang-go

 

解决升级go版本遇到的Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4.问题

该问题适用场景1.6版本-1.8版本的GO代码编译

按照go按照指南在go根目录/src下执行

./all.bash

遇到

Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4.错误,升级失败

问题提示分析
编译GO 1.6版本以上的需要依赖GO 1.4版本的二进制,并且需要把GOROOT_BOOTSTRAP的路径设置为1.4版本GO的根目录,这样它的bin目录就可以直接使用到1.4版本的GO

解决方案
先编译go1.4版本,设置好GOROOT_BOOTSTRAP,然后再执行脚本编译安装GO1.6以上版本

安装包下载地址为:https://golang.org/dl/

如果打不开可以使用这个地址:https://golang.google.cn/dl/

以下介绍了在UNIX/Linux/Mac OS X, 和 FreeBSD系统下使用源码安装方法:

1、下载源码包:go1.4.linux-amd64.tar.gz。

tar zxvf [go1.4.2.darwin-amd64-osx10.8.tar.gz]  

cp go/ $home/go-bootstrap/

设置环境变量,改设置为临时设置,若需要永久设置,请在/etc/profile中设置

GOROOT_BOOTSTRAP=$home/go-bootstrap/
export GOROOT_BOOTSTRAP

Golang跨平台交叉编译

  • 需要 进入 $GOROOT/go/src 源码所在目录执行
  • 需要 golang 1.4.x 的环境

# 如果你想在Windows 32位系统下运行
➜  ~cd $GOROOT/src
➜  ~CGO_ENABLED=0 GOOS=windows GOARCH=386 ./make.bash

# 如果你想在Windows 64位系统下运行
➜  ~cd $GOROOT/src
➜  ~CGO_ENABLED=0 GOOS=windows GOARCH=amd64 ./make.

# 如果你想在OS X 32位系统下运行
➜  ~cd $GOROOT/src
➜  ~CGO_ENABLED=0 GOOS=darwin GOARCH=386 ./make.bash

# 如果你想在OS X 64位系统下运行
➜  ~cd $GOROOT/src
➜  ~CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 ./make.bash

# 如果你想在Linux 32位系统下运行
➜  ~cd $GOROOT/src
➜  ~CGO_ENABLED=0 GOOS=linux GOARCH=386 ./make.bash

# 如果你想在Linux 64位系统下运行
➜  ~cd $GOROOT/src
➜  ~CGO_ENABLED=0 GOOS=linux GOARCH=amd64 ./make.bash


各位大虾:
我从网上得知,在ubuntu中,使用source /etc/profile命令可以使新建立的环境变量立刻生效而不用重新启动系统,但是
如题,当我使用source /etc/profile这个命令之后,新的环境变量只能在一个终端里面有效,而当我把这个终端关闭重新再
打开另一个终端时,刚才有效的环境变量就没了。

我的过程如下:
打开一个终端,输入命令:
$ source /etc/profile
$ echo $LD_LIBRARY_PATH
/home/zzm/installs/BALL/BALL-1.2/lib/Linux-i386-g++_4.1.3
(可见我在/etc/profile文件里面配置的环境变量生效了)

然后,我把这个终端关闭了,再打开一个终端,输入同样的“echo $LD_LIBRARY_PATH”,就什么都没有显示,显然,环境
变量又变得失效了。

我是在/etc/profile里面添加了下面的内容来设置环境变量的:
--------------------------------------
#设置BALL环境变量
export LD_LIBRARY_PATH=/home/zzm/installs/BALL/BALL-1.2/lib/Linux-i386-g++_4.1.3
export BALL=/home/zzm/installs/BALL/BALL-1.2
--------------------------------------

不知道这是怎么回事,总之,我将系统重新启动之后,环境变量就都生效了,无论在哪个终端里面都有效了。

请问,如何在不重新启动系统的情况下,将环境变量生效,而且是永久生效,不再出现我以上遇到的问题?
 
我加到自己的 ~/.bashrc 里,并且重新登录了,每次打开终端执行命令,发现环境变量确实生效了,但是我在应用程序里面实验的时候,比如在Java中调用系统命令,环境变量又失效了。

是不是加到自己的 ~/.bashrc 里的环境变量只是对bash等shell有效,而不是真正的对整个系统有效?
==========================================================================
http://www.cnblogs.com/BigIdiot/archive ... 17547.html

在Ubuntu中有如下几个文件可以设置环境变量
1、/etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此 文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。
2、/etc/environment:在登录时操作系统使用的第二个文件,系统在 读取你自己的profile前,设置环境文件的环境变量。
3、~/.bash_profile:在登录时用到的第三个文件是.profile文 件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用 户登录时,该 文件仅仅执行一次!默认情况下,他设置一些环境变游戏量,执 行用户的.bashrc文件。/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该 文件被读取.
4、~/.bashrc:该文件包含专用于你的bash shell的bash信 息,当登录时以及每次打开新的shell时,该该文件被读取。

几个环境变量的优先级

1>2>3


设置永久环境变量

1.环境变量配置中,要先删除.bash_profile中的三行关于.bashrc的 定义,然后把环境变量配置在.bashrc中
2.选择要使用的java环境:update-alternatives –config java
3.要使得刚修改的环境变量生效:source .bashrc
4.查看环境变量:env

可以放到/etc/bash/bashrc,这样就是系统级的

 

posted on 2018-04-27 11:36  yuluoxingkong  阅读(337)  评论(0编辑  收藏  举报