Не удается обновить пакет зависимостей с помощью godeps

Мне нужно обновить версию библиотеки stripe-go. В проекте 19.** Новая версия 52.** Есть менеджер зависимостей godeps

Когда я пытаюсь бежать

сохранить github.com/stripe/stripe-go

я получил

godep: невозможно сохранить github.com/stripe/stripe-go/form в редакции f8b095462d541c43d981d28de52b7464b25f3ee1: уже есть github.com/stripe/stripe-go в ревизии 87c04229ff0262e4e7dfc8af7dc97a471e955ba2.

Сначала запустите `godep update github.com/stripe/stripe-go'.

И когда я бегу

обновление godep github.com/stripe/stripe-go

я получил

godep: никакие пакеты не могут быть обновлены

Что я делаю неправильно?


person b3lowster    schedule 26.01.2019    source источник


Ответы (1)


Я помню эту проблему, цитируя https://github.com/tools/godep/issues/164#issuecomment-101345584

Кажется, это вызвано вот этой строкой: https://github.com/tools/godep/blob/master/update.go#L205

Если пакеты A и B находятся в одном корне, и я пытаюсь обновить только B, корень будет помечен как пропускающий обновление, поскольку A не обновляется. Я не уверен, какова мотивация этой функции, кажется, что разработчики должны иметь возможность выборочно обновлять подпакеты по своему желанию.

Что бы это ни стоило, я исправил свою проблему, выполнив подстановку из корня в моей команде обновления godep (например, обновление godep github.com/foo/bar/... вместо github.com/foo/bar/pkg/B. Полезный сообщение об ошибке прошло бы долгий путь

Пока вы здесь, в версии 1.11 и выше есть встроенная поддержка модулей. Может быть, стоит подумать о переходе на это? https://github.com/golang/go/wiki/Modules

person Karthik Nayak    schedule 26.01.2019
comment
Я не могу изменить версию go. Что если удалить старые пакеты зависимостей из видео.json вручную? а попробуй запустить godeps save ? - person b3lowster; 26.01.2019
comment
не могли бы вы добавить json, чтобы я мог помочь вам лучше? @b3lowster - person Karthik Nayak; 26.01.2019
comment
Будет ли достаточно, если я поделюсь файлом JSON, но только с зависимостями Stripe? - person b3lowster; 26.01.2019
comment
@ b3lowster Да, этого должно быть достаточно! cat something.json | grep -i stripe. - person Karthik Nayak; 26.01.2019
comment
кот Godeps/Godeps.json | grep -i stripe Путь импорта: github.com/stripe/stripe-go, Путь импорта: github.com/stripe/stripe-go/card, Путь импорта: github.com/stripe/stripe-go/charge, Путь импорта: github.com/ stripe/stripe-go/customer, путь импорта: github.com/stripe/stripe-go/orderitem, путь импорта: github.com/stripe/stripe-go/token, - person b3lowster; 26.01.2019
comment
если я попытаюсь запустить: godep update github.com/stripe/.. я получаю: godep: не в манифесте: github.com godep: никакие пакеты не могут быть обновлены - person b3lowster; 26.01.2019
comment
Это работает для этой команды :) обновление godep github.com/stripe/... Большое спасибо - person b3lowster; 26.01.2019
comment
@b3lowster, это круто! примите мой ответ как решение. - person Karthik Nayak; 26.01.2019
comment
Что делать, если мне нужно добавить еще одну подмодель, например github.com/stripe/stripe-go/payout, что мне делать? В проекте раньше не было этого модуля - person b3lowster; 27.01.2019
comment
@b3lowster dep ensure <pkg> должен это сделать. Проверьте здесь golang.github.io/dep/docs/ daily-dep.html#using-dep-ensure. По сути, при обновлении вы снова столкнетесь с проблемами, поэтому будет применяться то же решение. - person Karthik Nayak; 27.01.2019