42

GoPath 内で Go プロジェクトを作成しています。Redis サーバーに接続するために Redigo パッケージを使用しています。アプリケーションは正常に動作しますが、VSCode ではパッケージのインポート時にこの迷惑なエラーが発生し、VSCode がインテリセンスの提案を行うのを妨げています。

github.com/gomodule/redigo/redis をインポートできませんでした (インポート パス github.com/gomodule/redigo/redis のパッケージ データがありません)

これは私の VSCode の settings.json です

{
    "editor.fontSize": 14,
    "editor.formatOnPaste": true,
    "editor.multiCursorModifier": "ctrlCmd",
    "editor.snippetSuggestions": "top",
    "extensions.ignoreRecommendations": false,
    "workbench.statusBar.visible": true,
    "workbench.iconTheme": "vscode-great-icons",
    "files.autoSave": "afterDelay",
    "go.useLanguageServer": true,
    "go.alternateTools": {
        "go-langserver": "bingo"
    },
    "go.toolsEnvVars": {
        "GO111MODULE": "on"
    },
    "go.languageServerExperimentalFeatures": {
        "autoComplete": true,
        "documentSymbols": true,
        "findReferences": true,
        "format": true,
        "goToDefinition": true,
        "goToTypeDefinition": true,
        "hover": true,
        "signatureHelp": true,
        "rename": true,
        "workspaceSymbols": true,
    },
    "go.lintTool": "golangci-lint",
    "go.lintFlags": [
        "--fast",
        "-E", "goimports",
        "-E", "gocritic",
        "-E", "gocyclo",
        "-E", "gosec",
        "-E", "maligned",
        "-E", "scopelint",
        "-E", "interfacer",
        "-E", "goconst",
        "-E", "unconvert",
        "-E", "unparam",
        "-E", "prealloc",
        "-E", "varcheck",
    ],
    "go.formatTool": "goimports",
    "editor.minimap.enabled": false,
    "breadcrumbs.enabled": false,
    "git.autofetch": true,
    "workbench.startupEditor": "newUntitledFile",
    "explorer.confirmDelete": false,
    "git.enableSmartCommit": true,
    "git.confirmSync": false,
    "window.zoomLevel": 0,
    "explorer.confirmDragAndDrop": false
}

私はすでにGO111MODULE環境変数をオンに設定しています。これはの出力ですgo env

set GOARCH=amd64
set GOBIN=C:\Users\Francesco\Go\bin
set GOCACHE=C:\Users\Francesco\AppData\Local\go-build
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=C:\Users\Francesco\Go
set GOPROXY=
set GORACE=
set GOROOT=c:\go
set GOTMPDIR=
set GOTOOLDIR=c:\go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=C:\Users\Francesco\Go\src\test\go.mod
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\FRANCE~1\AppData\Local\Temp\go-build928398422=/tmp/go-build -gno-record-gcc-switches

これを機能させるには何を変更する必要がありますか?

4

9 に答える 9

7

同様の問題が発生しましたが、状況は少し異なります。VSCode リモートでこの問題が発生しましたが、基本的なライブラリのようなものでさえnet/httpインポートできません。など、同じパッケージの下にある他のファイルの構文エラーが原因であることがわかりましたundefined variables。これらの構文エラーを解決して VSCode を再起動したところ、問題が解決したことがわかりました。

于 2020-07-22T06:31:39.963 に答える
1

go mod init package_name続いgo mod tidyて、私のために機能するようになりました。go mod tidyパッケージをインストールし、mod ファイルを更新しました。

于 2021-10-20T05:56:15.037 に答える
0

I just recently ran into this same error, my solution was ensuring that my go version of my project's mod file was the same version as the installed version on my system.

于 2021-09-01T02:51:07.610 に答える
0

I've installed on Fedora 35 gcc-go and after I uninstalled it all worked fine.

sudo dnf remove gcc-go
于 2021-12-29T18:39:33.010 に答える