3 回答

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超7個(gè)贊
我知道三種方法:
方法一(最好的方法):
# Inside
# Ch2-GOMS
# │? ?├── go.mod
# │? ?├── handlers
# │? ?│? ?└── hello.go
# │? ?└── main.go
# In Ch2-GOMS
go mod init github.com/AP/Ch2-GOMS
# In main.go
# Add import "github.com/AP/Ch2-GOMS/handlers"
# But, make sure:?
# handlers/hello.go has a package name "package handlers"
您一定做錯(cuò)了什么,這就是它不起作用的原因。
方法2(好方法):
# Inside
# Ch2-GOMS
# │? ?├── go.mod
# │? ?├── handlers
# │? ?│? ?└── hello.go
# │? ?└── main.go
# Inside the handlers package
cd Ch2-GOMS/handlers
go mod init github.com/AP/Ch2-GOMS/handlers # Generates go.mod
go build # Updates go.mod and go.sum
# Change directory to top-level (Ch2-GOMS)
cd ..
go mod init github.com/AP/Ch2-GOMS # Skip if already done
go build # Must fail for github.com/AP/Ch2-GOMS/handlers
vi go.mod
在 Ch2-GOMS/go.mod 內(nèi)添加以下行:
# Open go.mod for editing and add the below line at the bottom (Not inside require)
replace github.com/AP/Ch2-GOMS/handlers => ./handlers
# replace asks to replace the mentioned package with the path that you mentioned
# so it won't further look packages elsewhere and would look inside that's handlers package located there itself
方法3(對(duì)于不耐煩的人來(lái)說(shuō)非??焖俚钠平夥椒ǎ?/p>
關(guān)閉 Go 模塊GO111MODULE=off
刪除go.mod文件
# Check: echo $GOPATH
# If $GOPATH is set
mkdir -p $GOPATH/src/github.com/AP/Ch2-GOMS
cd $GOPATH/src/github.com/AP/Ch2-GOMS
# If $GOPATH is unset
mkdir -p ~/go/src/github.com/AP/Ch2-GOMS
cd ~/go/src/github.com/AP/Ch2-GOMS
# Now create a symbolic link
ln -s <full path to your package> handlers
原因:在構(gòu)建過(guò)程中,編譯器首先查找供應(yīng)商,然后查找 GOPATH,然后查找 GOROOT。因此,由于符號(hào)鏈接,VSCode 的 go 相關(guān)工具也將由于提供的符號(hào)鏈接而正常工作,因?yàn)樗蕾?lài)于 GOPATH(它們?cè)?GOPATH 之外無(wú)法工作)

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個(gè)贊
如果要導(dǎo)入本地模塊,則需要映射模塊路徑,以便它可以在本地文件系統(tǒng)中找到代碼。
首先使用 go mod edit 命令將模塊的任何導(dǎo)入替換為本地文件
$?go?mod?edit?-replace?example.com/greetings=../greetings
該命令指定 example.com/greetings 應(yīng)替換為 ../greetings 以定位依賴(lài)項(xiàng)。運(yùn)行命令后,當(dāng)前目錄中的 go.mod 文件應(yīng)在其 mod 文件中包含替換指令
之后使用 go mod tidy 命令來(lái)同步依賴(lài)項(xiàng),添加您導(dǎo)入但尚未被當(dāng)前模塊跟蹤的代碼所需的依賴(lài)項(xiàng)
$?go?mod?tidy

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超4個(gè)贊
以下是步驟-
on main folder - go mod init
2.go mod tidy
3.go to the folder where main file is present
4.install the package via
go get <package name>
5.go build
在上述步驟之前,您的項(xiàng)目路徑應(yīng)該是
project path = GOPATH/src/<project_name>
另外應(yīng)該還有 2 個(gè)與src文件夾平行的文件夾
源代碼
包裝
垃圾桶
當(dāng)你安裝任何軟件包時(shí),它應(yīng)該進(jìn)入 pkg 文件夾,并且在執(zhí)行 go mod tidy 后應(yīng)該生成一個(gè)文件
go.mod
項(xiàng)目清單
- 3 回答
- 0 關(guān)注
- 244 瀏覽
添加回答
舉報(bào)