回答

收藏

GOBIN not set: cannot run go install

技术问答 技术问答 285 人阅读 | 0 人回复 | 2023-09-12

我在为我尝试 main.go 文件安装了我的自定义包。然而,当我跑的时候
2 D) D9 Z3 i# u& G1 f, G. j
    go install custom.go
    3 p( c0 c1 |; Q) \2 R
我收到了这个错误5 `: {+ h3 r5 C5 s: P
    go install: no install location for .go files listed on command line (GOBIN not set)8 P% j! k; h9 e2 }$ u( Y
如何设置GOBIN?* O- R6 M9 p! H5 m
                                                                2 a/ ?0 w$ N0 g) e) f* Y4 W
    解决方案:                                                                4 t# B2 y& I9 ^) s- u0 c: }
                                                                自走1.11和introduction of Go modules,,GOPATH不需要每个项目,默认为~/go你会全球工具/项目go get。4 `% }# D) y, x5 \% V; t: ~
[Go 1.162020年第一季度应默认GOBIN为 GOPATH[0\]/bin.
1 }; o2 q1 T( x; X* _  v: p- L但是现在,对于任何使用模块的项目,你都不会有类似的 go install: no install location ...错误的消息。
+ }* P/ d* c+ A5 S& ]2014 年原答案:7 j6 C& K) R  v' T1 f
检查你的GOPATH变量。3 E7 C5 A4 J  |) P
确保:9 e' @( K1 u3 X- w( A: R
你的消息来源是 GOPATH/src
; m& H& }. M$ U% e9 t您bin在 GOPATH 文件夹中有一个文件夹。
请参阅GOPATH 环境变量DIR”是一个GOPATH文件夹):' v* K3 q5 a2 n" g0 R
该bin已编译的命令保存在目录中。
/ f& r& T3 D2 C! a每个命令都以其源目录命名,但只有最后一个元素,而不是整个路径。也就是说,有 source in 的命令DIR/src/foo/quux安装到 中DIR/bin/quux,而不是DIR/bin/foo/quux. ” foo/” 去除前缀,以便添加DIR/bin到您的PATH获取已安装的命令。* U4 J( L( ]  `, Y! p: o
如果GOBIN设置环境变量,命令将安装在其命名目录中,而不是DIR/bin. GOBIN必须是绝对路径。6 ^9 }/ |2 w6 {* T9 `6 f5 @3 P/ ?
例如,这个线程表示在 go build 在 以外完成时会发生什么?GOPATH/src:" i/ E) Q) Y; c
看起来您GOPATH已设置为~/go但您运行了go install命令~/dev/go" r1 U& ]. c( w  c- X. {" d
参见Go Build
" ^/ |) g& p$ }, AGo 路径包括 Go 源代码目录树列表。咨询解决方案在标准 Go 树中找不到的导入。
) o1 w- E; l: r2 u* f3 k假如你已经做到了go build,你也可以试试一个go install(否custom.go):你想安装包,而不是单个文件。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则