1. ホーム
  2. go

[解決済み] go モジュール内のローカルパッケージへのアクセス (go 1.11)

2022-10-10 10:39:45

質問

Go の新しいモジュール システムを試しているのですが、ローカル パッケージへのアクセスに問題があります。次のプロジェクトは、私の gopath の外の私のデスクトップ上のフォルダにあります。

私のプロジェクト構造は次のようなものです。

/
  - /platform
      - platform.go
  - main.go
  - go.mod


// platform.go
package platform

import "fmt"

func Print() {
    fmt.Println("Hi")
}


// main.go
package main

import "platform"

func main() {
    platform.Print()
}

go build main.go と言っています。

cannot find module for path platform

どのように解決するのですか?

これらの問題を解決してくれるgoツールチェインを使用することを強くお勧めします。Visual Studio Codeとvscode-goプラグインは本当に便利です。

ここで問題なのは、Goはあなたの $GOPATH/src または module をimport文の中に入れてください。のどこにあるかによって GOPATH がどこにあるかにもよりますが、import パスにはそれも含める必要があります。この場合、import 文には go モジュールのパスを go.mod

GOPATH

あなたのプロジェクトがここに存在すると仮定します。

$GOPATH/src/github.com/myuser/myproject

インポートパスはこうなっているはずです。

import "github.com/myuser/myproject/platform"

VGO

go.modファイルがあると仮定します。

module example.com/myuser/myproject

インポートパスはこうなっているはずです。

import "example.com/myuser/myproject/platform"