Mac OS X下go的安裝,使用菱涤,刪除

下載和安裝

  • 下載
    - 在官網(wǎng)下載安裝包然后安裝
  • 安裝
    • 一路默認(rèn)安裝即可
    • 然后在終端運行go version苞也,如果顯示類似下面的信息,表明安裝成功
      go version go1.10.1 darwin/amd64
    • 如果沒有出現(xiàn)上面的信息或者出現(xiàn)了其他的報錯信息粘秆,請自行查詢解決

工作空間如迟,GOROOT和GOPATH和bin的設(shè)置

  • 開始寫go項目代碼之前,需要創(chuàng)建一個工作空間攻走,并在環(huán)境變量中指明工作空間的目錄

    • 我們在 $HOME($HOME是每個電腦下的用戶主目錄殷勘,每個電腦可能不同,可以在終端運行echo $HOME獲取昔搂,我們這里就直接使用 $HOME,)目錄下創(chuàng)建一個工作空間go玲销,所以工作空間的目錄就是 $HOME/go. (如果你想在一個不同的目錄下創(chuàng)建工作空間,那你需要設(shè)置一下GOPATH 環(huán)境變量和bin環(huán)境變量)

    • 設(shè)置 GOPATH 環(huán)境變量

      • 編輯你的 ~/.bash_profile(在終端中運行 vi ~/.bash_profile即可) 來添加下面這行代碼(如果你找不到 .bash_profile摘符,那自己創(chuàng)建一個就可以了)
      export GOPATH=$HOME/go
      
      • 保存然后退出你的編輯器贤斜。然后在終端中運行下面命令
      source ~/.bash_profile
      
    • 設(shè)置bin可執(zhí)行文件目錄

      • 在go官方文檔中,是這樣設(shè)置go的bin二進(jìn)制文件目錄路徑的

        • 注意逛裤,設(shè)置GOBIN路徑以便當(dāng)運行 go install時產(chǎn)生二進(jìn)制文件
          export GOBIN=$HOME/go/bin
      • 而在其他網(wǎng)上說明文檔中瘩绒,直接設(shè)置path

          ```
          export PATH=$HOME/go/bin
          ```
        
      • 我的 bash_profile 文件中是這樣的

        export GOPATH=$HOME/go
        export PATH=$HOME/go/bin:$PATH
        
      • 如果你是在mac os x 下直接通過安裝包安裝的,那么不用設(shè)置 bin 也可以带族,因為通過安裝包安裝時(除非你的工作空間不在$HOME/go而在其他你偏好的文件目錄下锁荔,這個時候是需要設(shè)置bin目錄的),已經(jīng)在 /etc/paths.d/go下指定了 bin 的目錄

        $ cd /etc/paths.d
        $ ls
        go
        $ cat go
        /usr/local/go/bin
        
        
  • GOROOT 默認(rèn)是在 /usr/local/go炉菲,如果沒有堕战,可以在 bash_profile 文件中設(shè)置

    export GOROOT=/usr/local/go
    

    然后退出編輯器坤溃,然后運行source ~/.bash_profile命令即可

第一個go程序

  • 進(jìn)入到工作空間中(我的是$HOME/go, 所以使用cd $HOME/go命令直接進(jìn)入)
  • 然后創(chuàng)建一個目錄 src/hello( mkdir src/hello),
  • 然后進(jìn)入到該目錄中(cd src/hello)拍霜,
  • 然后使用vi hello.go或者其他方式創(chuàng)建一個 hello.go文件嘱丢,
  • 然后打開該文件進(jìn)行編輯
package main

import "fmt"

func main() {
    fmt.Printf("hello, world\n")
}
  • 保存后退出
  • 然后在該hello.go文件目錄下運行 go build, 這個命令會創(chuàng)建一個命名為 hello 的可執(zhí)行的文件,
  • 如果執(zhí)行命令 ls祠饺,你會看到這個可執(zhí)行文件就在hello.go的旁邊
$ go build hello.go
$ ls
hello    hello.go
  • 然后執(zhí)行命令 ./hello
$ ./hello
hello, world!

如果看到 hello, world, 說明程序正確運行越驻,否則有錯

  • 可以運行 go install hello將二進(jìn)制文件安裝到工作空間 ($HOME/go) 的bin目錄中,或者 go clean hello 將該二進(jìn)制文件刪掉
  • 運行 go install hello命令之后道偷,運行ls $GOPATH/bin缀旁,可以看到此時hello已經(jīng)在 bin 目錄中, 這個時候,你在系統(tǒng)的任何目錄下運行 hello命令勺鸦,都會打印出hello, world
$ pwd
$HOME/go/src/hello
$ go install hello
$ ls $HOME/bin
hello
$ cd /Users/
$ hello
hello, world!
  • 如果運行hello的結(jié)果是 -bash: hello: command not found這樣的結(jié)果并巍,那么你可能需要在 /.bash_profile中指定一下PATH,(例如换途,在./bash_profile中添加 export PATH=$HOME/go/bin:$PATH, 然后運行 source ~/.bash_profile,然后再次運行 go install hello懊渡,然后再運行 hello,應(yīng)該會打印出hello, world!的結(jié)果)

刪除 go

  • 當(dāng)你需要刪除 go
    • 刪除 /usr/local目錄下的 go
    • 刪除 PATH 環(huán)境變量中的 bin
      • 在/etc/profile 或者 $HOME/.profile 或者 $HOME/.bahs_profile中刪除bin的設(shè)置
      • 如果是通過 mac os x 的安裝包安裝的军拟,那么應(yīng)該刪除 /etc/paths.d/go 文件

go 命令詳解

  • go run: 運行g(shù)o 源碼程序
  • go build: 編譯go 源碼
  • go install: go源碼編譯并打包到 $GOPATH/bin 目錄下

延伸點

mac下的環(huán)境變量設(shè)置

  • 添加 /usr/local/go/binPATH環(huán)境變量剃执,可以通過添加下面這行到到 /etc/profile(for a system-wide installation) 或者$HOME/.profile
    export PATH=$PATH:/usr/local/go/bin

    • 如果 profile 文件在/etc/profile中,表明是全系統(tǒng)范圍內(nèi)安裝的懈息,我的就是在 /etc/profile

    • MacOS加載bash shell環(huán)境變量的加載順序

      • mac 一般使用bash作為默認(rèn)shell肾档,mac系統(tǒng)的環(huán)境變量,加載順序如下
        • 系統(tǒng)級別的
          • /etc/profile
            • 登錄的時候讀入辫继,默認(rèn)的設(shè)定文件
            • 這個文件為系統(tǒng)的每個用戶設(shè)置環(huán)境變量怒见,當(dāng)用戶第一次登陸時,該文件被執(zhí)行姑宽,并從 /etc/profile.d 目錄的配置文件中收集 shell 的設(shè)置
            • 修改方法
              • 如果沒有特殊說明遣耍,設(shè)置PATH的語法都為
              export PATH=$PATH:<PATH 1>:<PATH 2>...<PATH N>
              
              • 有多個路徑時,每個路徑之間使用冒號隔開
          • /etc/bashrc
            • 這個是bash啟動時候必須加載的環(huán)境變量低千,作為全局環(huán)境變量設(shè)置是可行的
            • 每一個運行 bash shell 的用戶執(zhí)行此文件配阵,當(dāng) bash shell被打開時,該文件被讀取
            • 修改方法同上
          • /etc/paths
            • 這個是個系統(tǒng)全局的路徑示血,不建議做直接改動
            • 修改方法
              • 加載路徑
              1.創(chuàng)建一個文件
              sudo touch /etc/paths.d/mysql
              2.用vim打開這個文件(如果是以 open -t方式打開棋傍,則不允許編輯)
              sudo vim /etc/path.d/mysql
              3.編輯該文件,鍵入并保存(關(guān)閉該terminal窗口并重新打開一個难审,就鞥使用MySQL命令了)
              /usr.local/mysql/bin
              
              • 或者像下面
              sudo -s 'echo "/usr/local/sbin/mypath" > /etc/paths.d/mysql'
              
        • 用戶級別的
          • /.bash_profile (mac用的)
            • 登錄之后在 /etc/profile 載入之后載入瘫拣,十分重要的配置文件
          • /.bash_login
            • 登錄之后,如果 ~/.bash_profile不存在的話告喊,載入這個文件
          • /.profile
            • 登錄之后麸拄,如果 ~/.bash_login不存在的話派昧,才載入這個文件
          • /.bashrc (linux 用的)
            • bash shell打開的時候載入
      • 在你的 $HOME 下面有.bash_profile或者.bash_login的時候,會忽略調(diào) .profile
      • 系統(tǒng)級別拢切,用戶級別的只要在其中選一個修改就夠了
    • 延伸閱讀

      • Mac 啟動加載文件位置
        • 首先需要知道你使用的 Mac OS X 是什么樣的 shell蒂萎,使用命令 echo $SHELL
          • 如果輸出的 csh 或者 tcsh,那么使用的 c shell
          • 如果輸出的是 bash淮椰,sh, zsh五慈,那么使用的 Bourne Shell的一個變種
          • mac os x 10.2 之前默認(rèn)使用的是 c shell
          • mac os x 10.3 之后使用的是 Borune shell
        • 如果使用的是 borune shell
          • 將你要添加的環(huán)境變量添加到你主目錄下的.profile或者 .bash_profile, 如果 profile 或者 bash_profile 存在,那么直接將環(huán)境變量添加進(jìn)入即可主穗,如果 profile 或者 bash_profile 文件不存在泻拦,沒關(guān)系,創(chuàng)建一個忽媒,然后把環(huán)境添加進(jìn)去即可
      • Mac 配置環(huán)境變量的地方
        • /etc/profile (建議不修改這個文件)
          • 全局(公有)配置争拐,不管是哪個用戶,登錄時都會讀取該文件
        • /etc/bashrc (一般在這個文件中添加系統(tǒng)級別環(huán)境變量)
          • 全局(公有)配置晦雨,bash shell 執(zhí)行時架曹,不管是何種方式,都會讀取此文件
        • ~/.bash_profile (一般在這個文件中添加用戶級別環(huán)境變量)
          • 每個用戶都可以使用該文件輸入專用于自己使用的shell信息金赦,當(dāng)用戶登錄時音瓷,該文件僅僅被執(zhí)行一次

其他延伸點

  • mac下運行 $HOME的結(jié)果如下
yangdeMacBook-Pro-2:~ yangtao$ $HOME
-bash: /Users/yangtao: is a directory
yangdeMacBook-Pro-2:~ yangtao$ 

所以 $HOME 的值是 /Users/yangtao,是當(dāng)前登錄用戶的主目錄

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末夹抗,一起剝皮案震驚了整個濱河市绳慎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌漠烧,老刑警劉巖杏愤,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異已脓,居然都是意外死亡珊楼,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進(jìn)店門度液,熙熙樓的掌柜王于貴愁眉苦臉地迎上來厕宗,“玉大人,你說我怎么就攤上這事堕担∫崖” “怎么了?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵霹购,是天一觀的道長佑惠。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么膜楷? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任旭咽,我火速辦了婚禮,結(jié)果婚禮上赌厅,老公的妹妹穿的比我還像新娘穷绵。我一直安慰自己,他們只是感情好察蹲,可當(dāng)我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布请垛。 她就那樣靜靜地躺著催训,像睡著了一般洽议。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上漫拭,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天亚兄,我揣著相機與錄音,去河邊找鬼采驻。 笑死审胚,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的礼旅。 我是一名探鬼主播膳叨,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼痘系!你這毒婦竟也來了菲嘴?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤汰翠,失蹤者是張志新(化名)和其女友劉穎龄坪,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體复唤,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡健田,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了佛纫。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片妓局。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖呈宇,靈堂內(nèi)的尸體忽然破棺而出好爬,到底是詐尸還是另有隱情,我是刑警寧澤攒盈,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布抵拘,位于F島的核電站,受9級特大地震影響型豁,放射性物質(zhì)發(fā)生泄漏僵蛛。R本人自食惡果不足惜尚蝌,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望充尉。 院中可真熱鬧飘言,春花似錦、人聲如沸驼侠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽倒源。三九已至苛预,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間笋熬,已是汗流浹背热某。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留胳螟,地道東北人昔馋。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像糖耸,于是被迫代替她去往敵國和親秘遏。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,086評論 2 355

推薦閱讀更多精彩內(nèi)容