dtzd65908
2017-11-08 03:59
浏览 582
已采纳

Golang错误:找不到包命令

I'm getting this error when running a .go file.

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

So far I've seen that the error normally means that GOPATH is not set, however, echo "$GOPATH" outputs /root/go and my path is currently /bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/go/bin:/root/go/bin:/bin:/root/go/bin .

Here's the first few lines of instance.go:

package webrun

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

图片转代码服务由CSDN问答提供 功能建议

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

   ./ instance.go:第1行:包:找不到命令
./instance.go:第3行:意外令牌'newline'附近的语法错误
./instance.go:第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

这是实例的前几行。 转到:

 程序包webrun 
 
import(
“上下文” 
“ crypto / hmac” 
“ crypto / rand” 
   
 
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • douqujin2767 2017-11-08 04:29
    已采纳

    These are not Go errors.

    However, I was able to reproduce your errors by trying to execute a go source file:

    $ 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 ('
    

    You can't do this with Go, since it is not interpreted. You need to compile your code to an executable before you can run it.

    You can read the help for how to compile and run a go program here.

    In your case,

    go run instance.go
    

    will try to compile and run the source file you're executing, but as another commenter points out, code that is not in the main package is not designed to be executed directly.

    If this is your code, you need to write it inside package main, and if it is not, then you're probably trying to execute a library (which means it's not clear to me what you're trying to do).

    打赏 评论
  • dongmei1911 2017-11-08 04:57

    You can only ./ files which are runnable. Your go file is not runnable. You need to compile it to binary and do ./(dotslash) on it.

    打赏 评论

相关推荐 更多相似问题