es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No se puede depurar Go en VSCode – no se puede encontrar el directorio GOROOT: /snap/bin/go.

Estoy utilizando Ubuntu 20.04.3 LTS, VSCode 1.62.3, go 1.17.3 linux/amd64.

Cuando inicio el depurador en VSCode, muestra esta advertencia:

El comando “dlv-dap” no está disponible. Seleccione “instalar” o siga las instrucciones de instalación aquí. Origen: Go (Extensión) [Instalar] [Instalar todo]

Hago clic en Instalar y veo esto en la salida:

Herramientas de entorno: GOPATH=/home/raspberry/GolandProjects
Instalando 1 herramienta en /home/raspberry/GolandProjects/bin en modo de módulo.
  dlv-dap

La instalación de github.com/go-delve/delve/cmd/dlv@master falló:

{
“killed”: false,
“code”: 2,
“signal”: null,
“cmd”: “/usr/local/go/bin/go get -x -d github.com/go-delve/delve/cmd/dlv@master”,
“stdout”: “”,
“stderr”: “go: cannot find GOROOT directory: /snap/bin/go\n”
}

1 herramienta no se pudo instalar.

dlv-dap: no se pudo instalar dlv-dap (github.com/go-delve/delve/cmd/dlv@master): Error: Command failed: /usr/local/go/bin/go get -x -d github.com/go-delve/delve/cmd/dlv@master
go: cannot find GOROOT directory: /snap/bin/go

Cuando compruebo GOROOT con la herramienta go veo lo siguiente:

$ go env GOROOT
/usr/local/go

Cuando compruebo /snap/bin/ veo lo siguiente:

~$ cd /snap/bin/
:/snap/bin$ ls
canonical-livepatch pre-commit.validate-config
go pre-commit.validate-manifest
gofmt snap-store
go.gofmt snap-store.ubuntu-software
pre-commit snap-store.ubuntu-software-local-file


Estoy confundido, hay /snap/bin/go pero VSCode me dice que no y no puede ejecutar el depurador. ¿Cómo puedo solucionarlo? ACTUALIZACIÓN 1: Cuando establezco GOROOT en /snap/bin/go escribiendo esto en la consola: $ export GOROOT=/snap/bin/go VSCode comienza a imprimir lo siguiente cuando intento ejecutar el depurador:

No se pudo encontrar dlv-dap en la ruta de herramientas de Go, /home/raspberry/GolandProjects/, /home/raspberry/GolandProjects o /usr/local/go/bin:/home/raspberry/.local/bin:/home/raspberry/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Siga las instrucciones de configuración en https://github.com/golang/vscode-go/blob/master/docs/debugging.md#getting-started.
“`

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El problema parece estar relacionado con el directorio GOROOT que no está configurado correctamente en VSCode. A pesar de tener /snap/bin/go en la ruta del sistema, VSCode no puede encontrarlo.

    Para solucionar esto, configure GOROOT en la ruta correcta para la instalación de snap escribiendo el siguiente comando en la consola:

    $ export GOROOT=/snap/go/current

    Una vez hecho esto, intente ejecutar el depurador nuevamente. Si aún no puede encontrar dlv-dap, siga las instrucciones de configuración en https://github.com/golang/vscode-go/blob/master/docs/debugging.md#getting-started para solucionar el problema con mayor detalle.

Comments are closed.