linux下golang的配置

之前开发golang一直在windows下,今天在linux下试了一下 ,遇到一些梗,比如go 找不到 sync包。花了一小时全部解决,把过程记录一下。

安装 go

我的系统是ubuntu ,完全可以用apt-get 安装,简单方便,但这样安装之后就出现了上面提到的找不到sync包的问题。后来卸载了已经安装的go,选择从官网下载安装包。
下载地址 选择合适的安装包,我选择的是go1.6.1.linux-amd64.tar.gz。然后在你的系统里面建一个文件夹用来放安装包,建好之后使用wget 加下载地址,把安装包下载到建好的文件夹下。 然后键入tar -xzf go1.6.1.linux-amd64.tar.gz 解压安装包到已经建好的文件夹下。

解压之后会出现一个go文件夹,go下面有一个bin文件夹。使用ln -s (软连接命令)将bin下的可执行文件go 和gofmt 链到/usr/bin 下。 现在就可以直接输入 go version命令查看go 版本了。

配置环境

先设置GOROOT : export GOROOT=你建好的文件夹地址\go 。 设置GOROOT的原因是编译项目时便于系统寻找标准库。官网上还有添加PATH的步骤,这个是为了方便系统寻找到go、godoc和gofmt三个可执行文件,但这个问题已经通过软连接解决了。

编译第一个helloworld服务器

  • 首先建一个项目文件夹,设置GOPATH变量指向这个文件夹export GOPATH=刚建的文件夹路径

  • 在这个文件夹下建立 bin,src,pkg三个文件夹。src文件夹下用来放第三方库文件,pkg下放的是编译好的库文件 (.a后缀文件)

  • 设置GOBIN环境变量 export GOBIN=$GOPATH\bin。(go install 命令需要将可执行文件放到GOBIN指定的目录下)

  • 创建 package main 文件你可以下载这个源码文件 helloworld 使用wget下载到刚创建的文件夹下

  • 键入 go get 命令自动安装依赖包到src文件夹下 ,这个helloworld.go源代码的第三方依赖包在github上,安装不会出现问题。(但确保已经安装了git)

  • 键入 go build 编译项目,没有差错的话就可以出现一个跟之前建的文件夹同名的可执行文件, 执行该文件。然后在浏览器键入访问地址:你的机器的ip:8080/hello

运行截图

服务器端

客户端
客户端使用的node.js做的http get 请求

linux下golang的配置的更多相关文章

  1. linux下golang

    linux下golang的配置 linux下golang的配置 之前开发golang一直在windows下,今天在linux下试了一下 ,遇到一些梗,比如go 找不到 sync包.花了一小时全部解决, ...

  2. Linux下安装和配置JDK与Tomcat(升级版)

    在这个版本 Linux下安装和配置JDK与Tomcat(入门版) 的基础上优化升级 1.下载相关软件 apache-tomcat-6.0.37.tar.gz jdk-6u25-linux-i586-r ...

  3. [Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例二.

    为了更好的排版, 所以将IK分词器的安装重启了一篇博文,  大家可以接上solr的安装一同查看.[Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一: http://ww ...

  4. Linux下Redis服务器安装配置

    说明:操作系统:CentOS1.安装编译工具yum install wget  make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel ...

  5. Linux下SVN服务器安装配置及客户端安装说明

    原文地址:http://wenku.baidu.com/link?url=h3dVAMx4azpOXEND5HQEE6nliE8-zc0GSQ03yv4cUs1vXMALXF64UsK7kT7kXm_ ...

  6. linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制)

    linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制) 发表于2012//07由feng linux 本身的ugo rwx的权限,对于精确的权限控制很是力不从心的,ac ...

  7. 转载-Linux下svn搭建配置流程

    Linux下svn搭建配置流程     一.    源文件编译安装.源文件共两个,为: 1.   下载subversion源文件 subversion-1.6.1.tar.gz http://d136 ...

  8. Linux下PHP安装配置MongoDB数据库连接扩展

    Web服务器: IP地址:192.168.21.127 PHP安装路径:/usr/local/php 实现目的: 安装PHP的MongoDB数据库扩展,通过PHP程序连接MongoDB数据库 具体操作 ...

  9. Linux下安装与配置Nginx

    一.准备 Nginx版本:nginx-1.7.7.tar.gz   请自行到官网下载对应的版本. 二.步骤 ♦在Linux新建一个queenLove用户 [root@localhost /]# use ...

随机推荐

  1. HomeSnap

    http://arnauddegiuli.github.io/HomeSnap/ OnBufferingUpdateListener https://github.com/LuckyJayce/Mat ...

  2. 怎样拷贝整个目录并且忽略部分文件及目录(包括windows)

    http://www.dewen.org/q/2150 rsync -a --exclude dir1 --exclude dir2 ... source target

  3. Java基础:Collection—List&Set

    List和Set: List可以将元素维护在特定的序列中.它的特点是有序,允许重复元素出现.最常见的List的实现类是:ArrayList. Set的特点是:无序,不保存重复元素.当尝试将重复的元素添 ...

  4. hadoop实例---多表关联

    多表关联和单表关联类似,它也是通过对原始数据进行一定的处理,从其中挖掘出关心的信息.如下 输入的是两个文件,一个代表工厂表,包含工厂名列和地址编号列:另一个代表地址表,包含地址名列和地址编号列.要求从 ...

  5. 基于Qt的开源音乐播放器(CZPlayer)

    CZPlayer CZPlayer是基于Qt开发的一款功能强大的音乐播放器,该播放器的论坛地址请点击here,目前CZPlayer已经是第四个版本了,历史版本也分别在我的github上, github ...

  6. angular 项目回顾

    从学习angular,到实际项目开发不到一周,完全是边写边学呀,都是为了项目,已使用angular 开发了两个项目了,有些技术当时只是会用,都没好好回顾一下,现在有时间回顾一下,项目中用到的一些指令, ...

  7. javascript oop深入学习笔记(二)--javascript的函数

    一.概述: 函数是进行模块化程序设计的基础, javascript重的的函数不同于其他语言,每个函数都作为一个对象被维护和运行.通过函数对象的性质,可以很方便的将一个函数赋值给一个变量或则讲函数作为参 ...

  8. 如果将WCF服务发布为rest模式

    WCF是支持多种协议的,其中basicHttpBinding是基础协议绑定,类似于传统的webservice. 如果要将WCF发布成rest,绑定协议要使用webHttpBinding,并且在终结点的 ...

  9. ganymed-ssh2使用

    通过maven库获取ganymed-ssh2-262.jar,这是一个实现了ssh2协议的工具包,可以远程连接linux机器,执行命令,有些工作全靠它了 示例代码如下: <!--首先要建立连接, ...

  10. Express 4.x Node.js的Web框架

    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3821150.html ...