6g: Нет такого файла или каталога - Сборка пакетов Go с `gomake` на Snow Leopard - PullRequest
1 голос
/ 07 июля 2011

У меня есть два .go файла, numbers.go и numbers_test.go, и я хочу построить и выполнить тесты в соответствии с созданием нового пакета учебных пособий (прокрутите вниз для получения подробной информации о файлах. ) Все файлы находятся в одном каталоге.

Когда я перехожу к этому каталогу в Терминале и набираю gomake, я получаю это:

6g  -o _go_.6 numbers.go
make: 6g: No such file or directory
make: *** [_go_.6] Error 1

Эта ошибка говорит о том, что она не может найти numbers.go. Если я вручную выполню эту строку (без перемещения каталога):

6g  -o _go_.6 numbers.go

успешно создает файл _go_.6. Так почему же gomake не может найти файл?

Вот файлы, которые я использую:

numbers.go выглядит так:

package numbers

func Double(i int) int {
  return i * 2
}

numbers_test.go выглядит так:

package numbers

import (
    "testing"
)

type doubleTest struct {
    in, out int
}

var doubleTests = []doubleTest{
    doubleTest{1, 2},
    doubleTest{2, 4},
    doubleTest{-5, -10},
}

func TestDouble(t *testing.T) {
    for _, dt := range doubleTests {
        v := Double(dt.in)
        if v != dt.out {
            t.Errorf("Double(%d) = %d, want %d.", dt.in, v, dt.out)
        }
    }
}

и наконец, мой Makefile выглядит так:

include $(GOROOT)/src/Make.inc

TARG=numbers
GOFILES=\
    numbers.go

include $(GOROOT)/src/Make.pkg

1 Ответ

2 голосов
/ 07 июля 2011

Ошибка не говорит, что он не может найти numbers.go - он говорит, что он не может найти 6g. В вашем Makefile попробуйте указать путь к 6g в вашей переменной PATH, а также любые другие переменные среды, специфичные для Go.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...