#ruby #rubygems #bundler
#ruby #rubygems #bundler
Вопрос:
У меня проблема при использовании gemspec
в моем Gemfile и использовании jeweler:
sudo gem install
pkg/revertible_paper_trail-0.3.0.gem
Fetching: revertible_paper_trail-0.3.0.gem (100%)
ERROR: Error installing pkg/revertible_paper_trail-0.3.0.gem:
revertible_paper_trail requires revertible_paper_trail (>= 0)
rake gemspec:debug
показывает, что это было добавлено:
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
s.add_runtime_dependency(%q<revertible_paper_trail>, [">= 0"])
При удалении gemspec
из Gemfile зависимость от времени выполнения исчезает, и установка gem работает.
Итак, какова наилучшая практика при использовании jeweler и bundler?
К вашему СВЕДЕНИЮ: код для драгоценного камня находится по адресуhttps://github.com/CyTeam/revertible_paper_trail
Ответ №1:
gem install
не имеет ничего общего с bundler или вашим Gemfile, поэтому этот вопрос очень запутанный. (Кстати, ваша ссылка на код ведет на страницу 404.)
Комментарии:
1. Ну, я тоже в замешательстве, в этом проблема;-) Что я вижу, так это то, что jeweler добавляет странную зависимость времени выполнения от самого gem со спецификацией версии > = 0 к генерируемой им gemspec. Но только если
gemspec
объявление находится в Gemfile. Похоже, что эта зависимость от самоссылки мешаетgem install
выполнить успешную установку. КСТАТИ: исправлена ссылка (спасибо @iceydee!)
Ответ №2:
Прекратите использовать jeweler
и просто поддерживайте свой собственный .gemspec
.
Комментарии:
1. Ну, я не против создать .gemspec сам, но мне действительно нравится часть jeweler, посвященная тегированию / выпуску. Прочитав пост Иегуды в другой раз (я знал это), я увидел ссылку на [gem-release] Свена Фукса github.com/svenfuchs/gem-release что могло бы заполнить эту часть. Возможно, стоит попробовать. Итак: спасибо, что заставили меня еще раз переосмыслить это, но жесткий и лаконичный язык почти заставил меня отказаться от вашего комментария 🙂