我正在尝试与以下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
使用“获取”来安装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的shell更改为bash,我也得到相同的结果。
答案 0 :(得分:7)
要运行可执行文件,它必须在您的PATH
中可用。
1。配置您的路径。
确保在您的shell环境中正确设置了GOPATH
和$GOPATH/bin
目录。您可以通过在外壳程序配置中添加以下几行来完成此操作。
~/.zshrc
(如果您使用的是zsh
。
~/.bash_profile
(如果您使用的是bash
。
export GOPATH="$HOME/go"
export PATH="$GOPATH/bin:$PATH"
2。重新加载您的Shell配置。
确保更改后重新启动外壳程序或在外壳程序配置文件上运行source
:
source ~/.zshrc
(如果您使用的是zsh
。
source ~/.bash_profile
(如果您使用的是bash
。
3。安装dlv
软件包。
go install github.com/go-delve/delve/cmd/dlv
这是假设您使用/Users/<username>/go
作为GOPATH
。
您现在应该可以在终端会话中运行dlv
。
祝你好运!
答案 1 :(得分:5)
将环境变量GOBIN
设置为要安装dlv
二进制文件的位置。
例如:
GOBIN=~/bin go install github.com/go-delve/delve/cmd/dlv
这会将dlv安装在〜/ bin
运行go install
时,可以通过设置GOBIN
环境变量来指定安装路径。
有两种设置环境变量的方法:
1)运行export GOBIN=<SOMETHING>
之前运行go install ..
$ export GOBIN="$HOME/bin"
$ go install github.com/go-delve/delve/cmd/dlv
export命令将更改当前终端会话中的环境。您以后执行的任何命令都会看到您为GOBIN
使用这种方法时,通常不仅要在此会话中,而且要在以后的所有会话中都激活此环境变量。因此最好将行添加到您的bash个人资料中。
2)仅为命令设置环境变量。
$ A=10 some-command
在这种情况下,some-command
将看到环境变量A
的值设置为'10'。如果您运行更高版本的命令,它将看不到该值。
当您只是尝试尝试或仅在某些情况下希望设置某些环境变量时,此方法很有用。
我作为答案提供的命令行遵循第二种方法。
它将GOBIN变量设置到~/bin
目录,然后在同一行中调用go install
。这样,对go install
的调用将在~/bin
中安装dlv
这当然假设您的主目录中有一个bin
目录。
如果您没有这样的目录,那么它将不起作用。
这个想法不是复制粘贴行。想法是将~/bin
更改为要安装dlv
二进制文件的目录。