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. [AngularJS] Lazy Loading modules with ui-router and ocLazyLoad

    We've looked at lazy loading with ocLazyLoad previously, but what if we are using ui-router and want ...

  2. iOS开发——语法篇OC篇&静态方法与实例方法

    静态方法与实例方法 方法是类的行为,写在接口和实现两个文件中.在接口部分声明方法,在实现部分实现方法. 1.类方法与实例方法 Objective-C中的类可以声明两种类型的方法:实例方法和类方法.实例 ...

  3. Android下将图片载入到内存中

    Android的系统的标准默认每一个应用程序分配的内存是16M.所以来说是很宝贵的,在创建应用的时候要尽可能的去节省内存,可是在载入一些大的文件的时候,比方图片是相当耗内存的,一个1.3M的图片,分辨 ...

  4. 合并js文件minify实例

    将min目录放入项目中后,js中引入方式是: <script type="text/javascript" src="__PUBLIC__/min/?b=publi ...

  5. JavaScript eval() Function

    Evaluate/Execute JavaScript code/expressions: Example var x = 10;var y = 20;var a = eval("x * y ...

  6. 根据Entity Framework6.X 数据生成代码(仅获取表名)

    近来学习ASP.NET MVC ,一直在看韩迎龙(Kencery)的ASP.NET MVC+EF框架+EasyUI实现权限管理.在第九节(TT模板的学习)卡住了,作者使用EF5.0做数据源,而我使用的 ...

  7. 炼数成金hadoop视频干货01

    视频地址:http://pan.baidu.com/s/1dDEgKwD 最开始还是讲hadoop的起源,但是和其他垃圾视频不同,不是照本宣科,听了还是受益.作者给人一种感觉就是他是确实把他的经验和体 ...

  8. BootStrap2学习日记13----关于按钮

    普通按钮 代码: <div style="margin-bottom:15px"> <a href="#" class="" ...

  9. github使用成长记

    学校里一直都有自己写一些网页,一方面为了学习熟练技能,另一方面也是兴趣所在.但是独乐乐不如众乐乐,一直向往有那么一个平台能把自己做得东西分享给广大网友,并且想借着分享的契机和各位程序猿交流学习心得(这 ...

  10. C#当前应用程序路径及环境变量

    一.获取当前文件的路径 1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName 获取模块的完整路径.可获得当前执行的 ...