如何编译不符合`go get`模式的go代码

我的系统上安装了 Go,可以安装符合go get ...模式的包。正如您在此链接中看到的,麻省理工学院的一门课程正在使用 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 并go run wc.go master kjv12.txt sequential从中运行时,/src/main找不到包。源代码(例如,wc.go应该运行的文件)似乎假定包在同一目录中。这是 wc.go 文件,/src/main它需要/src/mapreduce


import "os"

import "fmt"

import "mapreduce"

import "container/list"

编译像这样分发的代码的最佳/最简单/最方便的方法是什么?我能想到的一种方法是cd进入每个包,运行go install然后更改需要这些包的每个文件中的导入路径,这非常耗时,我假设不是推荐的方式,我也不想要更改 GOPATH


哔哔one
浏览 161回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go