【问题标题】:Installing Go on CentOS 5.x在 CentOS 5.x 上安装 Go
【发布时间】:2013-04-10 19:37:20
【问题描述】:

我想在 CentOS 5.x 上安装 Go,但 Go 网站 http://golang.org/doc/install 提到它不受支持。

由于 CentOS 只是 Linux 的另一种风格,是否还有一些方法可以在 CentOS 上安装 Go 语言?

当我安装相同并运行上面网站上提到的示例程序 hello.go 我得到了错误 hello.go:3:8: import "fmt": 找不到包 包运行时:导入“运行时”:找不到包

【问题讨论】:

  • 您在编辑后的问题中提到的错误实际上看起来不像我在回答中刚刚讨论的问题。请仔细检查$ go env 的输出是否正常。

标签: centos go


【解决方案1】:
% export GOROOT=~/
% go run test.go 
test.go:3:8: import "fmt": cannot find package
package runtime: import "runtime": cannot find package

没有找到“runtime”包告诉你$GOROOT环境变量没有设置为golang根目录。 您需要设置$GOROOT。如果你使用外部包,你也应该设置 $GOPATH 变量(go help gopath 了解更多信息)。

一个典型的设置(不是特定于 CentOS)是:

export GOROOT="/usr/local/go"
export PATH="$GOROOT/bin:$PATH"
export GOPATH=/Users/rodowi/gocode

【讨论】:

    【解决方案2】:

    至少对于某些程序来说它可以正常工作。我有一个生产程序,我在 RHEL 6.x 上编译并在 5.x 和 6.x 上部署,它可以正常工作。

    编辑:我曾经在 1.0.3 下使用它,但几个月前我升级到了“tip go”(即将成为 1.1 版本)。在 1.x 下,当接受 tcp 连接时,它会在 5.9 上崩溃,但在我在邮件列表上报告它几天后,这个问题得到了修复。

    【讨论】:

      【解决方案3】:

      http://dave.cheney.net/2013/06/18/how-to-install-go-1-1-on-centos-5

      这个页面很好地解释了 CentOS-5 内核中缺少哪些内核原语、它们的影响以及可能的修复。

      【讨论】:

        【解决方案4】:

        我担心你会因为 CentOS 5.x 的内核版本太旧而倒霉。如果 go 运行时使用该内核中根本不存在的功能,那么我看不出它是如何工作的。

        【讨论】:

          【解决方案5】:

          您可以下载 rpm 包并开始在本地安装,检查下方并根据您的操作系统下载:

          http://pkgs.org/download/golang

          或者您也可以从源代码编译和构建:

          http://dave.cheney.net/2013/06/18/how-to-install-go-1-1-on-centos-5

          【讨论】:

            猜你喜欢
            • 2013-05-29
            • 1970-01-01
            • 2016-05-03
            • 2011-10-26
            • 2014-04-12
            • 1970-01-01
            • 2017-03-26
            • 2015-10-21
            • 1970-01-01
            相关资源
            最近更新 更多