Fail semasa tidak disertakan dalam modul ruang kerja" dalam Kod VS-Golang-php.cn">

Rumah  >  Artikel  >  pembangunan bahagian belakang  >  "Tidak boleh mengimport Fail semasa tidak disertakan dalam modul ruang kerja" dalam Kod VS

"Tidak boleh mengimport Fail semasa tidak disertakan dalam modul ruang kerja" dalam Kod VS

王林
王林ke hadapan
2024-02-10 18:42:171200semak imbas

VS Code 中“无法导入 <package> Fail semasa tidak disertakan dalam modul ruang kerja

Apabila editor php Xigua menggunakan Kod VS, anda mungkin menghadapi mesej ralat: "Tidak boleh mengimport Fail semasa tidak disertakan dalam modul ruang kerja". Ralat ini biasanya berlaku apabila kami cuba mengimport pakej atau modul tetapi fail semasa tidak ditambahkan ke ruang kerja. Penyelesaian kepada masalah ini sebenarnya sangat mudah, cuma tambah fail semasa ke ruang kerja. Dalam artikel ini, kami akan memperincikan cara menyelesaikan isu ini supaya anda boleh mengimport pakej dan modul yang diperlukan dengan lancar.

Kandungan soalan

Saya tidak boleh mengimport pakej URL. Walaupun saya memasang pakej pada sistem saya menggunakan "go get github..." dan pastikan ia hadir dalam fail go.mod, saya nampak:

could not import <package> current file is not included in a workspace module

Saya masih ingat hanya beberapa minggu yang lalu saya tidak perlu menjalankan "go work init" dalam setiap direktori projek Golang pada sistem saya. Tetapi sekarang saya diminta untuk menambahkan ini pada ruang kerja. Pada ketika itu, apabila saya memasang sebarang pakej dari terminal, saya hanya mengimport pakej yang dipasang dalam kod saya dan kod itu berjalan!

Saya sedang cuba membuat projek menggunakan faham "ebitengine", untuk ini saya menjalankan arahan berikut

go mod init PROJECT (in the directory same as the code)
go work init
go get -u github.com/hajimehoshi/ebiten/v2
go mod init PROJECT (Again because the error was still being shown)
go work init (Again because the error was still being shown)

Sila bantu saya memahami masalah sistem saya dan sebab saya tidak boleh mengimport pakej dengan betul.

Keluaran menjalankan "go env" ialah:

GO111MODULE="auto"
GOARCH="amd64"
GOBIN="/home/user/go/bin"
GOCACHE="/home/user/.cache/go-build"
GOENV="/home/user/.config/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/user/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/user/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.20.2"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/user/Desktop/learnings/go/14SwitchCase/go.mod"
GOWORK="/home/user/Desktop/learnings/go/go.work"
CGO_CFLAGS="-O2 -g"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-O2 -g"
CGO_FFLAGS="-O2 -g"
CGO_LDFLAGS="-O2 -g"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build1152057857=/tmp/go-build -gno-record-gcc-switches"

Begitu juga, bashrc saya mengandungi:

export GOPATH=$HOME/go
export GOBIN=$GOPATH/bin
export PATH=${PATH}:$GOBIN

Tolong bantu saya memahami di mana silap saya dan mengapa Kod VS saya tidak lagi berfungsi dengan betul.

Penyelesaian

Masalahnya ialah GOPATH dan GOROOT dalam fail ~/.profile dan ~/.bashrc saya.

Saya menggantikan GOPATH dan GOROOT sedia ada dengan baris berikut dan masalah telah diselesaikan:

Atas ialah kandungan terperinci "Tidak boleh mengimport Fail semasa tidak disertakan dalam modul ruang kerja" dalam Kod VS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam