相关疑难解决方法(0)

访问go模块中的本地包(转1.11)

我正在尝试Go的新模块系统,并且无法访问本地软件包.以下项目位于我的gopath外部桌面上的文件夹中.

我的项目结构如下:

/
  - /platform
      - platform.go
  - main.go
  - go.mod
Run Code Online (Sandbox Code Playgroud)
// platform.go
package platform

import "fmt"

func Print() {
    fmt.Println("Hi")
}
Run Code Online (Sandbox Code Playgroud)
// main.go
package main

import "platform"

func main() {
    platform.Print()
}
Run Code Online (Sandbox Code Playgroud)

go build main.go 告诉我

cannot find module for path platform
Run Code Online (Sandbox Code Playgroud)

go vgo

40
推荐指数
3
解决办法
2万
查看次数

golang go得到无法识别的导入路径

当我试图运行go go golang项目根路径ChaatzFeaturePhoneServer.它提示

  go get
  package FeaturePhoneServer/routers: unrecognized import path "FeaturePhoneServer/routers"
Run Code Online (Sandbox Code Playgroud)

我对此很困惑.它可能的原因是什么?我怎样才能找出原因并加以解决?

go

8
推荐指数
1
解决办法
1万
查看次数

使用Go模块组织软件包中的本地代码

main.go当在之外使用Go模块(go版本> = 1.11)时,找不到在本地包中分解出某些代码的方法$GOPATH

我没有导入任何需要包含的外部依赖项go.mod,我只是想在本地组织此Go模块的源代码。

文件main.go

package main

// this import does not work
import "./stuff"

func main() {
    stuff.PrintBaz()
}
Run Code Online (Sandbox Code Playgroud)

该文件./stuff/bar.go(假装为本地软件包):

package stuff

import "log"

type Bar struct {
    Baz int
}

func PrintBaz() {
    baz := Bar{42}
    log.Printf("Bar struct: %v", baz)
}
Run Code Online (Sandbox Code Playgroud)

文件go.mod(命令go mod init foo):

module foo

go 1.12
Run Code Online (Sandbox Code Playgroud)

执行时go run main.go

  • 如果是我import "./stuff",那么我明白了build command-line-arguments: cannot find module for path …

go go-packages go-modules

8
推荐指数
2
解决办法
6340
查看次数

标签 统计

go ×3

go-modules ×1

go-packages ×1

vgo ×1