spec/
каталог Драгоценный камень имеет, когда распаковал, более 99MB. Вы обязательно должны исключить его из финальной жемчужины (пусть даже и маленькой). Причина в том, что он такой большой, потому что он содержит фиктивное приложение с каталогами log/
(80MB) и tmp/
(18MB).
То, как вы исключаете файлы, является переменной files
в gemspec
. Переменная содержит массив каждого файла, который будет помещен в встроенный камень.
Gem::Specification.new do |gem|
gem.files = `git ls-files`.split($/).reject { |fn| fn.start_with? "spec" }
...
end
Код будет первым получить список всех файлов в каталоге (с git ls-files
он также будет применять правила .gitignore
), а затем удаляет любой файл, чей путь начинается с spec
.
Это зависит от вас, хотите ли вы включить тесты в финальный камень или нет. Проблема в том, что нет простого способа запуска тестов. Раньше была опция (-t
), чтобы сделать это прямо через Rubygems, но этот вариант был удален довольно давно. Учитывая сложившуюся ситуацию, я думаю, что, вероятно, лучше всего проводить тесты в репозитории.
Обратите внимание, что вы также можете увидеть переменную с именем test_files
в gemspec
. Эта переменная устарела и ничего не делает.
Вы сравнили с другими рельсами cms (например, нефтеперерабатывающий завод)? – apneadiving
Я бы сказал, что размер не является проблемой. Он загружается только при запуске вашего сервера, это не похоже на то, что вы подаете его кому-либо в ответ или что-то в этом роде. Однако всегда стоит больше узнать о том, что вы делаете :) –