Глюки для записи rubygems

Были вопросы с ответами о том, как записать rubygems, но что необходимо избежать в письменной форме rubygem? Что может вызвать проблемы для людей, использующих Ваш rubygem?

5
задан 2 revs 23 May 2017 в 12:11
поделиться

1 ответ

Упаковка драгоценных камней: Best Practices дает много советов, некоторые из которых включают

  • Не загрязняйте глобальный путь загрузки. Идеально иметь только foo.rb в каталоге lib, а все остальные файлы поместить в lib/foo.

  • Не требуйте файлы, используя __FILE__.

  • Не полагайтесь ни на что за пределами пути загрузки. Папки могут иметь не ту же структуру, что и в вашей оригинальной версии. Например, не используйте что-то вроде

    VERSION = ::File.read(::File.join(::File.dirname(FILE), ".", ".", "VERSION").strip

  • Не управляйте $LOAD_PATH внутри lib.

  • Обеспечьте константу VERSION.

  • Не зависьте от rubygems. Человек, использующий ваш код, может использовать не rubygems, а какую-то другую систему упаковки (или не использовать никакой системы упаковки). Аналогично, не упоминайте зависимости от версии в самом коде, или rescue Gem::LoadError.

зависимости от Rubygems. Пожалуйста... утверждает, что вы не должны перечислять необязательные зависимости времени выполнения, и должны отделять зависимости разработчика от зависимостей времени выполнения.

Из собственного опыта: если ничего другого нет, попробуйте собрать и установить свой гем локально, прежде чем выпускать его в свободный доступ. Это позволит избежать релизов в коричневых бумажных пакетах.

5
ответ дан 14 December 2019 в 19:08
поделиться
Другие вопросы по тегам:

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