114

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
4

3 に答える 3

62

これらの問題をすぐに処理できる go ツールチェーンを使用することを強くお勧めします。vscode-go プラグインを使用した Visual Studio Code は非常に便利です。

ここでの問題は、Go がimport ステートメントの$GOPATH/srcorに関する相対パスを必要とすることです。moduleのどこにいるかに応じてGOPATH、インポートパスにもそれが含まれている必要があります。この場合、インポート ステートメントには go モジュール パスを含める必要があります。go.mod

ゴーパス

プロジェクトが次の場所にあるとします。

$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"
于 2018-08-26T13:08:46.397 に答える