Go,Golang:在导入之前我必须拥有文件是没有意义的

3 install github package go

如何从头开始导入外部包?

我在Go中编写了一个库包并测试通过github进行分发.我正在关注http://golang.org/doc/code.html并使用mac但收到错误消息

cmd我放的是以下.

$ mkdir $HOME/go
$ export GOPATH=$HOME/go
$ export PATH=$PATH:$GOPATH/bin
$ mkdir -p $GOPATH/src/github.com/user
$ mkdir $GOPATH/src/github.com/user/project
Run Code Online (Sandbox Code Playgroud)

然后我把

$ go get github.com/user/project
Run Code Online (Sandbox Code Playgroud)

go install仍有错误

can't load package: package github.com/golingorg/goling: no Go source files in /Users/user_name/go/src/github.com/user/project
Run Code Online (Sandbox Code Playgroud)

我不明白为什么我们需要文件来导入Go中的外部包.外部包意味着我从外部包中获取并创建文件.

我的问题是如何从头开始导入外部包.大多数文件都是这样说的

 go get github.com/yasushi-saito/fifo_queue
Run Code Online (Sandbox Code Playgroud)

这给了我"$ GOPATH没有设置." 作为初学者,我正在为"go get"工作设置环境感到沮丧.非常感谢提前.

摘要

   How do I import an external package from scratch?
Run Code Online (Sandbox Code Playgroud)

jem*_*hsu 5

Go是一种静态类型语言,因此它需要在编译时解析对外部包的任何引用."go"工具期望外部包的源在本地可访问的路径中,因此您需要使用"go get"来下载它们.

根据你的描述,你可能没有设置GOPATH.使用ECHO $ GOPATH检查是否设置正确.

对于我的GO项目,我通常使用GOPATH作为工作空间,类似于Python中的virtualenv或Ruby中的rbenv/rvm.假设我的项目"myproject"在/ projects/myproject有根,我的源文件将位于/ projects/myproject/src/myproject,并且导入了"github.com/user/project",然后

> cd /projects/myproject
> export GOPATH=`pwd`          # or export GOPATH=/projects/myproject
> go get github.com/user/project
Run Code Online (Sandbox Code Playgroud)

在"go get"命令之后,"github.com/user/project"的源将被下载到/projects/myproject/src/github.com/user/project.

当你使用"go build"或"go install"时,它将编译为外部包在$ GOPATH/src文件夹中.

如果在默认文件夹中安装Go,则需要在PATH环境变量中包含Go installed bin文件夹.之后,GOPATH是另一个环境变量,你需要"go"工具才能工作.


c4p*_*one 5

我就是这样做的:

1.首先设置您的工作区

 mkdir $HOME/go
 export GOPATH=$HOME/go
 export PATH=$PATH:$GOPATH/bin
Run Code Online (Sandbox Code Playgroud)

2.创建项目

 mkdir -p $GOPATH/src/github.com/user
 mkdir $GOPATH/src/github.com/user/hello
 touch $GOPATH/src/github.com/user/hello/hello.go
Run Code Online (Sandbox Code Playgroud)

3.安装

go install github.com/user/hello
Run Code Online (Sandbox Code Playgroud)

4.运行

cd $GOPATH/bin
./hello
Run Code Online (Sandbox Code Playgroud)

我使用了以下无业游民的图像:https : //github.com/dcoxall/vagrant-golang