> Set-Variable GO111MODULE -Value on
> go get golang.org/x/tools/gopls@latest
go: cannot use path@version syntax in GOPATH mode
到目前为止,我在学习Go方面经历了非常糟糕的经历。当我尝试在VS Code中重命名变量时,一切就开始了。这是故事。:-[
,这是一个障碍。 c:\Go
中。 C:\DATA\go\gopl.io\ch1\fetchall\main.go
,c:\DATA\go
是我粘贴代码的地方。 func main
中的变量重命名为对我来说更有意义的名称。 Rename failed: gorename: can't find package containing (path to your .go file)
就我的菜鸟头脑所知,解决此错误的方法是,我需要更新一个名为package或gopls
的软件包,这是VS Code使用的语言服务器或其他工具。因此,我运行了
c:\DATA> go get golang.org/x/tools/gopls@latest
,但出现了一个错误,该错误似乎与对语法的新支持有关,该语法用于指定版本和Go Modules是新的。然后,我阅读了几个小时,发现这与某些
GO111MODULE
变量以及我从中运行go get
的文件夹有关。因此,我尝试设置该变量,但它似乎不起作用。
注意,我从
c:\DATA
运行这些命令,而不是从书本样本main.go
代码所在的位置运行这些命令,因为我猜测此Language Server软件包不适合该代码,而是VS Code使用的东西,因此应该以某种方式在某个地方“全局”安装?但是我可能是错的。如您所见,我并没有因为自己在做什么而感到困惑,好吧,TBH,它并不是很有趣
:(
更新我确实将
GOPATH
设置为c:\DATA\go
,但是在PowerShell的VS Code终端中,当我运行Get-Variable
时,它没有列出,但是如果我随后运行cmd
输入正常的shell提示,则将其设置。奇怪。
最佳答案
好的问题是我的代码都不在src
目录中。一旦将其全部移动到c:\DATA\go\src
中,它就可以工作。
关于go - 在GOPATH模式下不能使用path @ version语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60043466/