导入更新在主包中无法识别
Updates to import not recognized in main package
我正在处理一个项目,并且有几个我创建的包正在我的主项目中导入。
现在,当我获取代码并将其移动到外部包中时,我可以从我的主项目中调用它的函数。但是一旦我将新功能添加到我的外部包中,我在构建过程中总是会遇到 undefined func...
错误。
我试过重建我的外部包..但没有成功。我能够更新对自定义包的引用的唯一方法是重命名外部包和文件夹。
例如,如果我在 /project/blah/blah.go 中有以下内容:
package blah
func DoSomethingCool(s string) {
fmt.Print(s)
}
我可以在我的主应用程序 (project/web/main.go) 中将此函数调用为 blah.DoSomethingCool("Hello World")
。现在这按预期工作了。但是现在如果我将包 blah 更新为:
package blah
func DoSomethingCool(s string) {
fmt.Print(s)
}
func DoSomethingElseEvenCooler(p string, q string) {
fmt.Print(
fmt.Sprint(p, q),
)
}
我无法调用 blah.DoSomethingElseEvenCooler("p", "q") 即使重建了 blah。我最终遇到了一个 func undefined 错误。
但是,如果我将 blah 重命名为 foo 并将路径重命名为 /project/foo/foo.go,我可以完美地调用 foo.DoSomethingElseEvenCooler("p", "q")。似乎对包 blah 的引用没有更新,即使它已经更改。有没有办法在我构建主项目时强制执行此操作?
还是我错过了什么?
呼... 运行
go install
在外部包上解决了我的问题。谢谢!
我正在处理一个项目,并且有几个我创建的包正在我的主项目中导入。
现在,当我获取代码并将其移动到外部包中时,我可以从我的主项目中调用它的函数。但是一旦我将新功能添加到我的外部包中,我在构建过程中总是会遇到 undefined func...
错误。
我试过重建我的外部包..但没有成功。我能够更新对自定义包的引用的唯一方法是重命名外部包和文件夹。
例如,如果我在 /project/blah/blah.go 中有以下内容:
package blah
func DoSomethingCool(s string) {
fmt.Print(s)
}
我可以在我的主应用程序 (project/web/main.go) 中将此函数调用为 blah.DoSomethingCool("Hello World")
。现在这按预期工作了。但是现在如果我将包 blah 更新为:
package blah
func DoSomethingCool(s string) {
fmt.Print(s)
}
func DoSomethingElseEvenCooler(p string, q string) {
fmt.Print(
fmt.Sprint(p, q),
)
}
我无法调用 blah.DoSomethingElseEvenCooler("p", "q") 即使重建了 blah。我最终遇到了一个 func undefined 错误。
但是,如果我将 blah 重命名为 foo 并将路径重命名为 /project/foo/foo.go,我可以完美地调用 foo.DoSomethingElseEvenCooler("p", "q")。似乎对包 blah 的引用没有更新,即使它已经更改。有没有办法在我构建主项目时强制执行此操作?
还是我错过了什么?
呼... 运行
go install
在外部包上解决了我的问题。谢谢!