duankuan5319 2011-05-16 15:33
浏览 131
已采纳

在Linux(Mint)中安装Go并修改bashrc

I want to install Google's Go Language on my Linux Mint machine. I'm new to Linux so its not easy to follow some of the instructions I have read. Namely, I have been told to edit/mod the bashrc file:

 export GOROOT=$HOME/gosource
 export GOARCH=amd64
 export GOOS=linux
 export GOBIN=$HOME/bin
 export PATH=$PATH:$GOBIN

I don't know how to do this. I typed gedit ~/.bashrc

into the terminal and a blank page appeared. I put in the code and saved it. Then did

hg clone -u https://go.googlecode.com/hg/ go

to get the source code. Is this correct? Because I then tried to compile the code and a long list of errors appeared (which I don't have - I'm using a different PC at the mo unfortunately).

But if anyone can help me install Go, I'd appreciate it.

SOLUTION:

Aside from various problems mentioned and solved in the answers below, I had forgotten to install the following

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

WHich is mentioned at the top of the golang.com install page.

  • 写回答

3条回答 默认 最新

  • douguiyan9164 2011-05-16 18:17
    关注

    Amongst other things, you tried to clone the repository to ~/go and edited ~/.bashrc to point $GOROOT to ~/gosource.

    Read the Go Getting Started instructions carefully. Either copy and paste commands or check what you type very carefully; check input very carefully before you hit enter. For commands, the $ sign represents the command prompt, don't type it. Remember, Linux is case sensitive and the distinction between / and \ is important. Check the output of commands very carefully; does the ouput make sense. Run diagnostic commands like env, pwd, which, and uname. When you see scroll bars in a Stack Overflow answer, scroll through all the code and output.

    First, set up ~/.bashrc.

    $ gedit ~/.bashrc
    
    export GOROOT=$HOME/go
    export GOARCH=amd64
    export GOOS=linux
    export GOBIN=$GOROOT/bin
    export PATH=$PATH:$GOBIN
    

    Close any open terminal windows and then open a new terminal window to check the new ~./bashrc and other values.

    $ env | grep '^\(GO\|HOME=\|PATH=\)'
    GOBIN=/home/peter/go/bin
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/peter/go/bin
    GOARCH=amd64
    HOME=/home/peter
    GOROOT=/home/peter/go
    GOOS=linux
    $ cd $GOROOT/src
    $ pwd
    /home/peter/go/src
    $ uname -a
    Linux peter 2.6.32-31-generic #61-Ubuntu SMP Fri Apr 8 18:25:51 UTC 2011 x86_64 GNU/Linux
    

    Then clone the repository to $GOROOT and you will clone to and compile from the same place.

    $ hg clone -u release https://go.googlecode.com/hg/ $GOROOT
    requesting all changes
    adding changesets
    adding manifests
    adding file changes
    added 8441 changesets with 31916 changes to 4421 files (+1 heads)
    updating to branch release-branch.r57
    2702 files updated, 0 files merged, 0 files removed, 0 files unresolved
    $ cd $GOROOT/src
    $ ./all.bash
    < SNIP OUTPUT >
    ALL TESTS PASSED
    ---
    Installed Go for linux/amd64 in /home/peter/go.
    Installed commands in /home/peter/go/bin.
    The compiler is 6g.
    $ which 6g
    /home/peter/go/bin/6g
    

    You haven't posted your output, so I can only guess what your problems are.

    For example, you say "the directory is Go", it should be "go"; since Linux is case sensitive, "Go" and "go" are different.

    If you omit the $GOROOT destination from the hg clone command or $GOROOT is not set, hg clone will default to the hg directory. For example,

    $ env | grep '^GOROOT'
    GOROOT=
    $ hg clone -u release https://go.googlecode.com/hg/ $GOROOT
    destination directory: hg
    

    Since you have GOARCH=amd64, you should be running a 64-bit version of Linux Mint on an x86_64 processor. What does your uname -a output say? You want the 6g and 6l programs to compile and link on an x86_64 processor, which should be in your $GOBIN directory, which should be in in your $PATH.

    $ env | grep '^\(GOBIN\|PATH=\)'
    GOBIN=/home/peter/go/bin
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/peter/go/bin
    $ which 6g
    /home/peter/go/bin/6g
    

    You should also have seen this by reading the end of your ./all.bash command output.

    ALL TESTS PASSED
    ---
    Installed Go for linux/amd64 in /home/peter/go.
    Installed commands in /home/peter/go/bin.
    The compiler is 6g.
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化