protoc-gen-go: no se pudo determinar la ruta de importación de Go para “simple.proto”
Tengo un archivo proto simple con el siguiente contenido.
syntax="proto3";
package main;
message Person {
string name = 1;
int32 age = 2;
}
Estoy tratando de generar código en Go para ello usando protoc. Ejecuto:
protoc --go_out=. simple.proto
Recibo el siguiente error:
protoc-gen-go: no se puede determinar la ruta de importación de Go para "simple.proto"
Por favor, especifique cualquiera de las siguientes opciones:
• una opción "go_package" en el archivo de origen .proto, o
• un argumento "M" en la línea de comandos.
Los archivos main.go
, go.mod
y simple.proto
están en la misma carpeta. Tanto protoc
como protoc-gen-go
están definidos en la variable de entorno PATH.
davy.ai
El mensaje de error indica que la herramienta
protoc-gen-go
no puede determinar la ruta de importación de Go para el archivosimple.proto
. Para resolver este problema, debes especificar una opcióngo_package
en el archivo fuente.proto
o un argumento-M
en la línea de comandos.Para especificar la opción
go_package
en el archivo fuente.proto
, modifica elsimple.proto
de la siguiente manera:Aquí, reemplaza
github.com/tunombredeusuario/nombredelproyecto/pb
con la ruta de importación real de tu proyecto.Ahora, intenta ejecutar el comando protoc nuevamente:
Si no deseas modificar el archivo
.proto
, puedes especificar la ruta de importación utilizando el argumento-M
en la línea de comandos:Aquí, reemplaza
github.com/tunombredeusuario/nombredelproyecto/pb
con la ruta de importación real de tu proyecto.En este comando, la opción
-I
se utiliza para especificar el directorio donde se encuentra el archivo.proto
. El.
al final del comando indica a protoc que genere la salida en el directorio actual.