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

Доброе утро! Нужна помощь, сломал голову с подключением модулей, расположенных

локально.

Установил oapi-codegen и успешно запустил пример oapi-codegen/examples/petstore-expanded/echo.
Потом захотелось перенести содержимое папки echo в каталог /home/petshop/work.

Прочитал пример https://github.com/golang/go/wiki/Modules#can-i-work-entirely-outside-of-vcs-on-my-local-filesystem и попробовал сделать таким же образом.

В каталоге /home/petshop/work создал файл go.mod:
======
module example.com/petshop

go 1.16

require (
example.com/petshop/api v0.0.0-00010101000000-000000000000
github.com/deepmap/oapi-codegen v1.5.6
github.com/getkin/kin-openapi v0.53.0 // indirect
github.com/labstack/echo/v4 v4.2.1
github.com/stretchr/testify v1.7.0
)

replace example.com/petshop/api => /home/petshop/work/api
======
А в каталоге /home/petshop/work/api создал такой файл go.mod:
======
module example.com/petshop/api
=====

После этого в файле /home/petshop/work/petstore.go заменил в импорте:
=====
// "github.com/deepmap/oapi-codegen/examples/petstore-expanded/echo/api"
"example.com/petshop/api"
=====

Но при попытке ~/work$ go run petstore.go получаю ошибку:

# github.com/deepmap/oapi-codegen/pkg/middleware
../go/pkg/mod/github.com/deepmap/oapi-codegen@v1.5.6/pkg/middleware/oapi_validate.go:68:12: undefined: openapi3filter.NewRouter
../go/pkg/mod/github.com/deepmap/oapi-codegen@v1.5.6/pkg/middleware/oapi_validate.go:87:59: undefined: openapi3filter.Router
../go/pkg/mod/github.com/deepmap/oapi-codegen@v1.5.6/pkg/middleware/oapi_validate.go:94:9: undefined: openapi3filter.RouteError

Предполагаю, что проблема связана с /home/petshop/work/api, но уже третий день ничего не могу сделать(
Подскажите, пожалуйста, в чем проблема?
Спасибо!

17 ответов

24 просмотра

там в kin-openapi поломали чуток обратную совместимость неделю назад https://github.com/getkin/kin-openapi/pull/210, oapi-codegen ещё не отреагировал

Alexandre-Frolov Автор вопроса
Sergey
там в kin-openapi поломали чуток обратную совмести...

Т.е. просто подождать? А обойти никак нельзя?

Alexandre-Frolov Автор вопроса
Sergey
запинь в go.mod версию openapi-codegen@v0.50.0

Заработало! Большое спасибо!

kin-openapi - маргинальщина. Вам нужно просто открыть проект в goLand и приказать иде синхронизировать зависимости

Alexandre-Frolov Автор вопроса
Пользователь 61a23
kin-openapi - маргинальщина. Вам нужно просто отк...

Анатолий, спасибо за ответ! Но у меня нет IDE, я просто пользуюсь vim и Sublime, проект взял готовый и переношу его в другой каталог. Как мне в этом случае обновить зависимости и понять, что все будет совместимо и без ошибок? Мне нужен генератор кода oapi-codegen, так понимаю, что у него зависимость от kin-openapi. Или можно как-то обойтись без этой зависимости?

Alexandre Frolov
Анатолий, спасибо за ответ! Но у меня нет IDE, я п...

поставьте триальную goLand , через месяц обновите (2 мин), там у вас будет опция "sync dependencies" - пните иде, она всё сделает за вас. В любом случае разработка на го без GoLand не очень вообще нормальный воркфлоу из консоли: go mod init go build (go run) Вам не нужно руками писать go.mod , голанг сделает это за вас из импортов в исходниках если вам нужно в сваггер, рассмотрите вариант с go-swagger. Эта либа не умеет в сваггер3, но тем не менее она просто лучше чем oapi-codegen

Пользователь 61a23
айдие большие, и бесполезные

ну как по мне разработка без иде это либо джедайство, либо колхоз. Но вам виднее конечно

quantum super position
он тролль. забей

это чистая правда, но я говорил от сердца

Jerzy Kamiński
поставьте триальную goLand , через месяц обновите ...

Sync dependencies сделает обычный go get ./... . Зачем для этого goland?

Sergey
Sync dependencies сделает обычный go get ./... . З...

там же про GoLand речь зашла, при чём тут go get

Jerzy Kamiński
там же про GoLand речь зашла, при чём тут go get

Там речь зашла про "проблемы с зависимостями? поставь голанд, он всё разрулит!"

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
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
Карта сайта