我正在尝试遵循下面的YouTube video来开始Go调试。
它建议遵循官方Delve github存储库上的Delve安装说明。对于Mac用户来说,他们是as follows。
确保工具链已就位
xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates使用go get安装Delve
go get -u github.com/go-delve/delve/cmd/dlv确保在Xcode中启用了开发人员模式
sudo /usr/sbin/DevToolsSecurity -enable
Developer mode is already enabled.为了检查安装是否正确完成,我尝试在我的Go项目中直接运行以下命令:
dlv debug
zsh: command not found: dlv视频教程的作者建议在命令无法识别的情况下更新~/.bash_profile文件中的GOPATH和PATH变量。为此,我添加了以下内容:
export GOPATH=/Users/<user_name>/go/src/
export PATH=$PATH:/Users/<user_name/go/src/my_project然而,即使在这样做之后,我在尝试运行调试器时也得到了相同的结果:
dlv debug
zsh: command not found: dlv即使我使用exec bash将默认zsh的外壳更改为bash,我也会得到相同的结果。
发布于 2019-11-30 05:02:58
为了运行可执行文件,它需要在您的PATH中可用。
1.配置您的路径。
确保在shell环境中正确设置了GOPATH和$GOPATH/bin目录。您可以通过将以下行添加到shell配置中来完成此操作。
如果您使用的是zsh,则为~/.zshrc。
如果您使用的是bash,则为~/.bash_profile。
export GOPATH="$HOME/go"
export PATH="$GOPATH/bin:$PATH"2.重新加载外壳配置。
确保在更改后重新启动shell或在shell配置文件上运行source:
如果您使用的是zsh,则为source ~/.zshrc。
如果您使用的是bash,则为source ~/.bash_profile。
3.安装 dlv 包。
go install github.com/go-delve/delve/cmd/dlv这里假设你使用/Users/<username>/go作为你的GOPATH。
现在您应该能够从终端会话运行dlv了。
祝好运!
发布于 2019-12-06 22:04:24
将环境变量GOBIN设置为您希望安装dlv二进制文件的位置。
例如:
GOBIN=~/bin go install github.com/go-delve/delve/cmd/dlv这将在~/bin中安装dlv
澄清
运行go install时,可以通过设置GOBIN环境变量来指定安装路径。
有两种方法可以设置环境变量:
1)在运行go install ..之前运行export GOBIN=<SOMETHING>
$ export GOBIN="$HOME/bin"
$ go install github.com/go-delve/delve/cmd/dlvexport命令将改变当前终端会话中的环境。以后执行的任何命令都将看到您为GOBIN设置的值
当您采用这种方法时,您通常希望该环境变量不仅在此会话中处于活动状态,而且在将来的所有会话中也处于活动状态。因此,最好将该行添加到您的bash配置文件中。
2)仅为命令设置环境变量。
$ A=10 some-command在这种情况下,some-command将看到环境变量A的值设置为'10‘。如果您运行以后的命令,它将不会看到此值。
当您只是在尝试一些东西时,或者如果您只想在某些情况下设置某些环境变量,这种方法很有用。
我提供的作为答案的命令行遵循第二种方法。
它将GOBIN变量设置为~/bin目录,然后在同一行中调用go install。这样,此go install调用将在~/bin中安装dlv
当然,这假设您的主目录中有一个bin目录。
如果你没有这样的目录,那么这将不起作用。
这个想法不是按原样复制粘贴行。其想法是将~/bin更改为您希望安装dlv二进制文件的目录。
https://stackoverflow.com/questions/59110828
复制相似问题