第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

無(wú)法在 Golang 中導(dǎo)入本地模塊

無(wú)法在 Golang 中導(dǎo)入本地模塊

Go
LEATH 2023-08-14 17:49:58
我正在嘗試導(dǎo)入本地模塊,但無(wú)法使用go mod. 我最初使用構(gòu)建我的項(xiàng)目go mod init github.com/AP/Ch2-GOMS請(qǐng)注意,我的環(huán)境是go1.14,并且我使用 VSCode 作為編輯器。這是我的文件夾結(jié)構(gòu)Ch2-GOMS│   ├── go.mod│   ├── handlers│   │   └── hello.go│   └── main.go我的main.go代碼:package mainimport (    "log"    "net/http"    "os"    "github.com/AP/Ch2-GOMS/handlers" // This gives "could not import github.com/AP/Ch2-GOMS/handlers" lint error)func main() {    l := log.New(os.Stdout, "product-api", log.LstdFlags)    hh := handlers.NewHello(l)    sm := http.NewServeMux()    sm.Handle("/", hh)    http.ListenAndServe(":9090", nil)} 我看不到本地模塊的自動(dòng)完成功能,例如handlers.NewHello.go build生成的go.mod內(nèi)容:module github.com/AP/Ch2-GOMSgo 1.14我還得到Y(jié)ou is not in a module也不在你的 GOPATH 中。有關(guān)如何設(shè)置 Go 項(xiàng)目的信息,請(qǐng)參閱https://github.com/golang/go/wiki/Modules 。VScode 中發(fā)出警告,即使我已GO111MODULE=on在~/.bashrc文件中設(shè)置
查看完整描述

3 回答

?
aluckdog

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ú)法工作)


查看完整回答
反對(duì) 回復(fù) 2023-08-14
?
鳳凰求蠱

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


查看完整回答
反對(duì) 回復(fù) 2023-08-14
?
Helenr

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)目清單


查看完整回答
反對(duì) 回復(fù) 2023-08-14
  • 3 回答
  • 0 關(guān)注
  • 244 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)