Способы запуска Rails-команд
Обычно в примерах мы видим короткие версии: rails s, rails c, rails g, и т.д.
Но под капотом есть несколько способов запустить Rails-команды — и каждый из них немного отличается.
1️⃣ rails s — Запускает Rails, используя глобально установленный гем rails.
👉 Удобно для быстрых команд.
🔴 Может вызвать проблемы, если версия Rails в проекте отличается от глобальной.
2️⃣ bin/rails s
👉 Запускает Rails из локального bin-скрипта, созданного при rails new.
🔘 Безопаснее — всегда используется та версия Rails, что указана в Gemfile.
🔘 Рекомендуемый вариант для повседневной работы.
3️⃣ bundle exec rails s
👉 Запускает Rails через Bundler, чтобы гарантировать использование гемов текущего проекта.
🔘Полезно, если Rails установлен не через bin/rails или при работе со сторонними утилитами.
🔘Часто используется в CI/CD и make-скриптах.
4️⃣ bundle exec bin/rails s
👉Учитывает и локальный bin-скрипт, и среду Bundler.
🔘Самый строгий и безопасный способ (но, кажется, немного избыточный)
🔘Гарантирует, что всё выполняется ровно с теми версиями, что зафиксированы в Gemfile.lock.
🔘Встречается в Dockerfile, Makefile, и production-сценариях.
Итого:
🔘 rails s — быстро, но может использовать не ту версию.
🔘 bin/rails s — стандарт для локальной разработки.
🔘 bundle exec rails s — жёсткая фиксация зависимостей.
🔘 bundle exec bin/rails s — максимум гарантии и предсказуемости.
#словарь
Группа: @pro_ruby_on_rails_ru
Вопросы: @ilia_zykin
❤️ лайк 🔂 репост
Post #91
277
- ❤ 11