Как исправить ошибку delve, которая не может загрузить пакет: внутренняя ошибка пакета

Поэтому я установил VSCODE на свой компьютер с Windows в качестве основной IDE golang, и я предполагаю, что из-за общего отсутствия знаний о go я столкнулся с этой, казалось бы, неразрешимой ошибкой: я установил delve и хотел использовать его в качестве отладчика в vscode-go. Я сделал все, как указано в readme на https://github.com/Microsoft/vscode-go, но по какой-то причине, когда я запускаю отладку dlv, я получаю сообщение об ошибке «не могу загрузить пакет: внутренний пакет: нет собираемых исходных файлов Go в c: \ go \ src \ internal exit status 1». Я не смог найти в Интернете ничего, связанного с этой папкой, но я сам никогда не вводил путь к src / internal ни в одном из файлов конфигурации. Это сбивает меня с толку, так как я думал, что если это обычная папка, кто-то должен хотя бы однажды получить ту же ошибку.

Это происходит как в vscode, так и в командной строке, а также при запуске теста dlv. Я также знаю, что это не проблема с моей структурой папок / переменными env, поскольку он также жалуется на отсутствие моих файлов пакетов, если я их удаляю в дополнение к той же самой ошибке c: \ go \ src \ internal. Кажется, что где-то есть настройка, чтобы проверить эту папку на наличие исходных файлов, но я не могу найти настройку, и отладка dlv вылетает после сообщения об ошибке.


person grssn    schedule 12.09.2016    source источник
comment
internal - зарезервированное имя пакета. Вы пытаетесь импортировать в код пакет с именем internal?   -  person JimB    schedule 13.09.2016
comment
Похоже на ту же проблему, которая есть у меня. Я подозреваю, что это внутри VsCode.   -  person Chris G.    schedule 13.09.2016


Ответы (5)


Получил ту же проблему с последними delve и vscode:

не удается загрузить пакет: внутренний пакет: нет собираемых исходных файлов Go в C: \ Coding \ Go \ src \ internal

и 'go build' работает без ошибок

Придется вернуться к предыдущей версии delve, чтобы она заработала. Кажется, что в delve что-то сломалось или просто нужно что-то обновить. Вроде бы достаточно просто заменить dlv.exe в папке% GOPATH% \ bin. Я не делюсь своей версией, потому что она exe, но вы можете найти ее или собрать из исходников

person Sunnyque    schedule 13.09.2016
comment
Спасибо :) Я успешно выполнил эти шаги в go/src/github.com/derekparker/delve после обычного go get: git checkout e4c7dfthen go install github.com/derekparker/delve/cmd/dlv - person runec; 13.09.2016
comment
Спасибо. Кажется, это так. Я попробую восстановить из исходников, когда вернусь домой. - person grssn; 13.09.2016
comment
Спасибо @runec. Работает правильно! - person Icebob; 21.09.2016

Я решил свою проблему, которая выглядит как та же проблема, изменив файл launch.json.

// before
"program": "${workspaceRoot}

// after changing 
"program": "${workspaceRoot}/src/github.com/myproje/hello",
person Ali Altun    schedule 13.11.2016

та же проблема (vscode / linux / go1.8) Решение:

change in launch.json > 
 "program": "${fileDirname}"
person Serhiy Savin    schedule 21.03.2017

У меня была такая же проблема. Когда я проверяю, {fileDirName} указывает на мою папку .vscode. Итак, я только что выбрал свой путь вручную, и он работает.

Я заменил это

"program": "${fileDirname}"

с этим

"program": "c:/Go/src/MyGoProject"
person Furkan Öztürk    schedule 18.10.2020

Если Go установлен правильно, в этом сообщении об ошибке говорится, что вы пытаетесь импортировать внешний пакет под названием «внутренний».

Скомпилируйте пустую программу без импорта, чтобы увидеть, сохраняется ли проблема, например.

package main

func main() {
}

Здесь вы не должны видеть никаких ошибок. Если вы это сделаете, это, скорее всего, означает, что Go не установлен должным образом.

person nosequeldeebee    schedule 12.09.2016