6g:在 Go 中编译外部 API 代码时找不到命令错误
6g: command not found error while compiling external API code in Go
我是 golang 的新手,我正在尝试使用 this tutorial.
编写程序
但是我在编译时遇到了这个错误。
6g: command not found
这是我试过的方法:
$ go version
go version go1.4.1 darwin/amd64
- 我已经正确设置了环境变量
这是我的 .bashrc 的样子:
$ tail ~/.bashrc
export GOBIN=/Users/abhijeet/code/golang/go/bin
export GOROOT=/Users/abhijeet/code/golang/go
export GOPATH=/Users/abhijeet/code/golang/gopath
export GOOS="darwin"
export GOARCH="amd64"
export PATH="$GOBIN:$PATH"
- 我在 /etc/profile 下添加了以下行以获取它
外观如下:
[ -r $HOME/.bashrc ] && source $HOME/.bashrc
如果我退出终端,再次启动它并回显任何变量,它们就会起作用。
我安装了 gcc。
这是我在 运行 "gcc --version" 命令时得到的结果:
$ gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin14.1.0
Thread model: posix
如果我编写任何其他 go 程序并且运行它,它就可以工作。例如,从 here 到 "Go Templates - Part 3 - Template Sets" 的第 1 节到第 5 节中的所有程序现在都可以正常工作。只有这个教程让我很困扰。
None 我刚给 link 的其他程序要求我 运行 “6g” 命令。但它们仍然 运行 在我的机器上。
关于我出错的行,我使用正确的行来反映我机器中的文件夹名称。
他们要求运行:
6g -I $GOPATH/pkg/linux_amd64 urlshortener.go
我是运行宁:
6g -I $GOPATH/pkg/darwin_amd64 urlshortener.go
- 重要提示:我已按照教程中的所有步骤使用外部 API。但是,如果我查看 darwin_amd64 文件夹,我根本看不到任何 urlshortener.go 文件!
我能找到的只有
darwin_amd64
├───code.google.com
│ ├───p
│ │ └───google-api-go-client
│ │ └───googleapi
│ │ │ └─── <more folders and files here>
│ │ └───urlshortener
│ │ │ └───v1.a
│ │ └───googleapi.a
│ │
所以我知道那里有一些问题,但我也知道这可能不是导致我看到的错误的原因,否则我会看到像 "file not found" 这样的错误。我只是想将其作为附加数据提及。
所以我很感激任何帮助。如果我还应该提供任何其他数据,请告诉我。
这是一个内部命令,您可以 运行 它与 go tool 6g
。
话虽如此,该指南已经过时且不再相关。
- To compile I used: 6g -I $GOPATH/pkg/linux_amd64 urlshortener.go
- To link I used: 6l -L $GOPATH/pkg/linux_amd64 urlshortener.6
被简单地替换为 运行ning go build urlshortner.go
甚至 go run urlshortner.go
要检查的资源很少:
我是 golang 的新手,我正在尝试使用 this tutorial.
编写程序但是我在编译时遇到了这个错误。
6g: command not found
这是我试过的方法:
$ go version
go version go1.4.1 darwin/amd64
- 我已经正确设置了环境变量
这是我的 .bashrc 的样子:
$ tail ~/.bashrc
export GOBIN=/Users/abhijeet/code/golang/go/bin
export GOROOT=/Users/abhijeet/code/golang/go
export GOPATH=/Users/abhijeet/code/golang/gopath
export GOOS="darwin"
export GOARCH="amd64"
export PATH="$GOBIN:$PATH"
- 我在 /etc/profile 下添加了以下行以获取它
外观如下:
[ -r $HOME/.bashrc ] && source $HOME/.bashrc
如果我退出终端,再次启动它并回显任何变量,它们就会起作用。
我安装了 gcc。
这是我在 运行 "gcc --version" 命令时得到的结果:
$ gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin14.1.0
Thread model: posix
如果我编写任何其他 go 程序并且运行它,它就可以工作。例如,从 here 到 "Go Templates - Part 3 - Template Sets" 的第 1 节到第 5 节中的所有程序现在都可以正常工作。只有这个教程让我很困扰。
None 我刚给 link 的其他程序要求我 运行 “6g” 命令。但它们仍然 运行 在我的机器上。
关于我出错的行,我使用正确的行来反映我机器中的文件夹名称。
他们要求运行:
6g -I $GOPATH/pkg/linux_amd64 urlshortener.go
我是运行宁:
6g -I $GOPATH/pkg/darwin_amd64 urlshortener.go
- 重要提示:我已按照教程中的所有步骤使用外部 API。但是,如果我查看 darwin_amd64 文件夹,我根本看不到任何 urlshortener.go 文件!
我能找到的只有
darwin_amd64
├───code.google.com
│ ├───p
│ │ └───google-api-go-client
│ │ └───googleapi
│ │ │ └─── <more folders and files here>
│ │ └───urlshortener
│ │ │ └───v1.a
│ │ └───googleapi.a
│ │
所以我知道那里有一些问题,但我也知道这可能不是导致我看到的错误的原因,否则我会看到像 "file not found" 这样的错误。我只是想将其作为附加数据提及。
所以我很感激任何帮助。如果我还应该提供任何其他数据,请告诉我。
这是一个内部命令,您可以 运行 它与 go tool 6g
。
话虽如此,该指南已经过时且不再相关。
- To compile I used: 6g -I $GOPATH/pkg/linux_amd64 urlshortener.go
- To link I used: 6l -L $GOPATH/pkg/linux_amd64 urlshortener.6
被简单地替换为 运行ning go build urlshortner.go
甚至 go run urlshortner.go
要检查的资源很少: