Golang错误:找不到包命令

时间:2017-11-08 03:59:37

标签: go

运行.go文件时出现此错误。

./instance.go: line 1: package: command not found
./instance.go: line 3: syntax error near unexpected token `newline'
./instance.go: line 3: `import ('

到目前为止,我已经看到错误通常意味着未设置GOPATH,但echo "$GOPATH"输出/root/go,我的路径目前为/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/go/bin:/root/go/bin:/bin:/root/go/bin

这是instance.go的前几行:

package webrun

import (
        "context"
        "crypto/hmac"
        "crypto/rand"

2 个答案:

答案 0 :(得分:2)

这些不是Go错误。

但是,我能够通过尝试执行go源文件来重现您的错误:

$ chmod +x in.go
$ ./in.go
./in.go: line 1: package: command not found
./in.go: line 3: syntax error near unexpected token `newline'
./in.go: line 3: `import ('

你不能用Go做这个,因为它没有被解释。您需要先将代码编译为可执行文件,然后再运行它。

您可以阅读有关如何compile and run a go program here的帮助。

在你的情况下,

go run instance.go

将尝试编译并运行您正在执行的源文件,但正如另一位评论者指出的那样,main包中没有的代码不能直接执行。

如果这是你的代码,你需要在package main内写,如果不是,那么你可能正在尝试执行一个库(这意味着我不清楚你在尝试什么做)。

答案 1 :(得分:0)

您只能使用可运行的./文件。你的go文件不可运行。您需要将其编译为二进制文件并对其执行./(dotslash)。