He estado teniendo un tiempo difícil tratando de ejecutar un simple golang programa en una máquina virtual impulsado por vagrant.
Estos son los campos relevantes de mi go env:

GOARCH="amd64"
GOPATH="/usr/local/src/go"
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"

Este es el programa que estoy tratando de ejecutar ( que se encuentra en /usr/local/src/go/programa ):

package program

import (
    "fmt"
)

func main() {
    fmt.Print("Aloha")
}

Esto, el resultado que obtengo:

main.go:4:5:
/usr/local/go/src/fmt/doc.go:1:1: expected 'package', found 'EOF'
package runtime:
/usr/local/go/src/runtime/alg.go:1:1: expected 'package', found 'EOF'

Tomar en cuenta que este es un programa completamente falso. Lo extraño es que es totalmente trabaja en un entorno diferente.
Lo que me estoy perdiendo aquí?

Muchas gracias!

¿Guardado el programa.vaya archivo de origen antes de llamar a ir a correr? Y no va a funcionar mejor con package main?
Gracias por la respuesta! Sí, package main sería más apropiado. Eso es lo que solía ser, y no exactamente con el mismo error. Seguro, se guardó el archivo 😉
¿Hay algún tipo de eol (error de windows al final de la línea en lugar de unix?)
En realidad no 🙁
Interesante… por supuesto que me estoy poniendo un EOF… Los archivos son de hecho vacío. El go get ejecución parece estar fallando en algún momento.

OriginalEl autor ThisIsErico | 2015-06-29

6 Comentarios

  1. 16

    Usando VS Código para IR, y se enfrentó al mismo problema.
    Guardar el archivo ‘Ctrl+S’ en Windows solucionado el problema.

    De referencia :
    Respondida por Nico

    Esto funcionó para mí en un Mac así.

    OriginalEl autor Code_Yoga

  2. 10

    Esto generalmente sucede cuando usted tiene un archivo por ejemplo, foo_test.ir vacío o sin declaración del paquete.

    OriginalEl autor Alessandro Resta

  3. 8

    El problema no era ni con GOROOT ni GOPATH. El ir de error en la instalación en algún momento, dejando la totalidad de la cosa inestable ( en los archivos creados pero completamente vacío ). Cuando el aprovisionamiento de la máquina virtual de nuevo, el módulo comprueba si los archivos que existían. Como lo hizo, tomó por sentado que la instalación ya había de tener lugar.

    Un lugar limpio y fresco de la instalación desde cero resuelto el problema.

    Comentarios agradables. +1
    cerrar/abrir el editor funciona para mí

    OriginalEl autor ThisIsErico

  4. 2

    Para mí, esto sucedió también el uso de Atom + Plus + Terminal Plus. El problema era que el líder en soporte no estaba en la «correcta» de la línea.

    NOTA: Go Plus advierte acerca de la sintaxis a guardar, pero me había importado este archivo después de la creación a nivel local con el VIM, por lo que nunca se me presentó con la pelusa de los errores…

    De Error:

    package main
    import "fmt"
    func main() 
    {
        fmt.Println("hello world")
    }

    Correcta:

    package main
    import "fmt"
    func main() {
        fmt.Println("hello world")
    }

    OriginalEl autor user1873858

  5. 0

    Como un nuevo usuario y me vino a esta respuesta buscando a alguien para que me diga que necesito para iniciar mi scripts con package main a pesar de que mi error fue un poco diferente,

    expected 'package', found 'import'

    Es real, obvio ahora, pero bueno, eso es cómo va.

    OriginalEl autor kpie

  6. 0

    Como dijo ya sugerido por Nico, Al crear un nuevo proyecto y nuevo principal.vaya a archivo este mensaje de error aparecerá cuando no se guarda el archivo. Guarde el archivo (ctrl + s) y este error desaparecerá en mac & windows.
    Yo enfrentan el mismo problema y lo acaba de resolver mediante ctrl+S en el principal.vaya a archivo.

    OriginalEl autor sonu1986

Dejar respuesta

Please enter your comment!
Please enter your name here