回答

收藏

Go:非本地包中的本地导入

技术问答 技术问答 336 人阅读 | 0 人回复 | 2023-09-11

我有以下文件结构:. |" M  |8 e7 g; @, Z6 `
    .├── bin│   └── hello├── pkg└── src    └── jacob.uk.com        ├── greeting        │   └── greeting.go        └── helloworld.go5 directories,3 files
    ) r2 W3 Q5 x( @  M) ~; ~* k
使用以下 GOPATH2 D4 S0 u& D! L! h, H6 S! }7 ~2 j
    /Users/clarkj84/Desktop/LearningGo
    5 W( O9 z& n- B- W! c
在文件夹/usr/local/go/bin/go install jacob.uk.com内执行后src,我收到错误local import "./greeting" in non-local package
! `. ]" T9 |: G2 \1 g8 }* bhelloworld.go:
( w8 g, Y, h6 W9 U2 l& i/ \
    + V$ W1 N& f! D2 c1 w: c6 I  V
  • package main;import "./greeting"func main()code]               4 G; J2 C' A2 V- Q% E2 a1 [
  •     解决方案:                                                               4 E5 |& j5 |& u' u
  •                                                                 将非本地包指定为go install. 如果想在当地引进工作,首先要把工作目录改成src/jacob.uk.com然后执行go install(不指定包)。9 k7 j$ F" j( e
  • 当然,具有helloworld.go你会得到一个编译错误:imported and not used。但是一旦你使用了导入greeting它应该能够编译包中的东西。
    ! X* i# y8 Q0 S% y/ S5 B
  • 但是你根本不应该使用本地导入。而是写:[code]import "jacob.uk.com/greeting"
    & N9 o. M" L: X
您将能够从任何地方编译/操作/安装它。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则