运行.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"
答案 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)。