170 похожих чатов

Добрый день! Изучаю go-swagger по руководству https://goswagger.io/tutorial/todo-list.html Запустил генерацию кода и создал

все в каталоге /home/frolov/work/src/

Пытаюсь запустить "go install ./cmd/todo-list-server/" и получаю ошибку:
go: go.mod file not found in current directory or any parent directory; see 'go help modules'

При попытке go mod init :
go: cannot determine module path for source directory /home/frolov/work/src (outside GOPATH, module path must be specified)

Подскажите, пожалуйста, что нужно передать go mod init, чтобы она создала файл go.mod?
Спасибо!

28 ответов

24 просмотра

в go mod init надо передать название модуля

Alexandre-Frolov Автор вопроса
Владимир Столяров
в go mod init надо передать название модуля

Сделал так: go mod init todo-list go mod tidy Но при попытке go install ./cmd/todo-list-server/: cmd/todo-list-server/main.go:12:2: package restapi is not in GOROOT (/usr/local/go/src/restapi) cmd/todo-list-server/main.go:13:2: package restapi/operations is not in GOROOT (/usr/local/go/src/restapi/operations)

Alexandre Frolov
Сделал так: go mod init todo-list go mod tidy Но ...

если модуль называется todo-list, то все пакеты внутри него должны импортировать друг друга тоже начиная с todo-list

Alexandre-Frolov Автор вопроса
Владимир Столяров
если модуль называется todo-list, то все пакеты вн...

Вот это я не очень понимаю, все файлы созданы генератором... Мне нужно что-то править руками?

Я бы распаковал в корень.

Alexandre-Frolov Автор вопроса
🎄 Doe
Я бы распаковал в корень.

В корень каталога пользователя /home/frolov/ ?

Alexandre-Frolov Автор вопроса
🎄 Doe
В корень проекта.

Вот тут я не очень понимаю Проект создан в каталоге /home/frolov/work/src Там есть: cmd models restapi swagger.yml

Alexandre Frolov
Вот тут я не очень понимаю Проект создан в каталог...

Ну так правильный путь укажите. swagger generate server --target . --spec ./swagger/swagger.yml --name NameProject

Alexandre-Frolov Автор вопроса
🎄 Doe
Ну так правильный путь укажите. swagger generate ...

Опять не понимаю, какой путь правильный в моем случае, если файлы лежат в /home/frolov/work/src? Эту команду мне из какого каталога запускать?

Alexandre-Frolov Автор вопроса
Alexandre Frolov
Опять не понимаю, какой путь правильный в моем слу...

Главное непонятно, чего команды из туториала то не работают?

Alexandre Frolov
В корень каталога пользователя /home/frolov/ ?

Сначала создайте папку с проектом, потом git init bla-bla в ней, внутрь кладите swagger.yml потом go mod init, потом генерите и тащите зависимости. Оптимально в git init указать полный путь как на гитхабе.

Alexandre Frolov
Главное непонятно, чего команды из туториала то не...

Всё работает. В src создайте проект. И зайдите в эту папку. Если я правильно понимаю что у вас с путями.

А, го инсталл не надо, надо go run ./cmd/... --port 3000

Alexandre-Frolov Автор вопроса
🎄 Doe
Всё работает. В src создайте проект. И зайдите в э...

$ go run ./cmd/... --port 3000 go: go.mod file not found in current directory or any parent directory; see 'go help modules'

Alexandre-Frolov Автор вопроса
🎄 Doe
Всё работает. В src создайте проект. И зайдите в э...

Сейчас попробую все заново в новом пользователе

Alexandre Frolov
$ go run ./cmd/... --port 3000 go: go.mod file not...

Вы не читаете что я вам выше писал, про git init, go mod?

Alexandre-Frolov Автор вопроса
🎄 Doe
Вы не читаете что я вам выше писал, про git init, ...

Сделал в каталоге /home/goswag/work/src git init ls swagger.yml set $GOPATH=/home/goswag/work/src Запускаю генератор: swagger generate server -A todo-list -f ./swagger.yml /work/src$ go mod init go: cannot determine module path for source directory /home/goswag/work/src (outside GOPATH, module path must be specified) Example usage: 'go mod init example.com/m' to initialize a v0 or v1 module 'go mod init example.com/m/v2' to initialize a v2 module Разбираюсь с GOPATH

Alexandre Frolov
Сделал в каталоге /home/goswag/work/src git init l...

Зачем прямо в src? Сделайте уже папку в src с проектом, и зайдите в неё, там и работайте.

Alexandre-Frolov Автор вопроса
🎄 Doe
Зачем прямо в src? Сделайте уже папку в src с прое...

Мнда, мне дается с трудом( Никак не пойму, какие папки и где сделать. Вот я создал папки /home/goswag/work/src Не пойму, куда нужно записать файл swagger.yml и из какой папки запускать все эти команды? Сейчас этот файл лежит в каталоге /home/goswag/work/src Настроил так, это верно? $ echo $GOPATH /home/goswag/work/src

Alexandre-Frolov Автор вопроса
🎄 Doe
Зачем прямо в src? Сделайте уже папку в src с прое...

Или мне нужно наборот, сделать папку /home/goswag/src/work и туда положить файл swagger.yml?

Alexandre Frolov
Или мне нужно наборот, сделать папку /home/goswag/...

Ну вроде так. Я не привык держать в других местах проекты, как изначально положил в ~/go/src, так они и лежат.

Alexandre-Frolov Автор вопроса
🎄 Doe
Ну вроде так. Я не привык держать в других местах ...

Спасибо, сейчас попробую сделать /home/goswag/go/src/todoprj

Alexandre-Frolov Автор вопроса
Alexandre Frolov
Спасибо, сейчас попробую сделать /home/goswag/go/s...

В общем, моя проблема что я после Perl привык что проекты могут лежать где угодно и как угодно, а тут это не так

Alexandre-Frolov Автор вопроса
Владимир Столяров
в go это в общем-то теперь тоже так

В теории да, но пока я не разобрался до конца. Научился настраивать пути к локальным модулям при помощи go.mod, но все равно как-то непривычно)

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта