【发布时间】:2014-08-24 00:08:47
【问题描述】:
我的系统上安装了 Go,并且可以安装符合 go get ... 模式的软件包。如您所见in this link,麻省理工学院正在将 Go 用于其一门课程。但是,安装提供的代码并不像运行go get ... 并将所有软件包安装在适当的位置那么容易。相反,它要求您克隆存储库,然后“编译我们为您提供的初始软件并使用下载的输入文件运行它”。如您所见,它指示用户导出 GOPATH(我认为假设学生是第一次使用 Go)
git clone git://g.csail.mit.edu/6.824-golabs-2014 6.824
$ add 6.824
$ export GOPATH=$HOME/6.824
$ cd ~/6.824/src/main
$ go run wc.go master kjv12.txt sequential
当我克隆 repo 并从 /src/main 运行 go run wc.go master kjv12.txt sequential 时,它找不到包。源代码(例如,应该运行的 wc.go 文件)似乎假定包在同一目录中。这是 /src/main 中的 wc.go 文件,它需要 /src/mapreduce
import "os"
import "fmt"
import "mapreduce"
import "container/list"
编译像这样分发的代码的最佳/最简单/最方便的方法是什么?我能想到的一种方法是将cd 放入每个包中,运行go install 然后更改每个需要这些包的文件中的导入路径,这非常耗时,我认为这不是推荐的方法,并且我也不想改变 GOPATH
【问题讨论】:
标签: go