Каково использование Gemfile
в рельсах?
Как использовать Gemfile
?
Каково использование Gemfile
в рельсах?
Как использовать Gemfile
?
Во время вашей разработки в Rails будут моменты, когда вы захотите предоставить некоторую функциональность, которая требуется вам, но либо вы не знаете, как это сделать, либо не хотите ее реализовать самостоятельно, поскольку много работы было внесено в его развитие талантливыми разработчиками.
Эти разработки, которые могут вам понадобиться (аутентификация пользователей, система сообщений, обработчики ресурсов, геолокация, система разбиения на страницы, связь с внешними службами, такими как Amazon AWS и, наконец, не в последнюю очередь Rails) называются Ruby Gems. Это рубиновые программные пакеты, которые не обязательно относятся к Rails, но поскольку Rails основан на Ruby, 98% драгоценных камней могут быть доступны для вашего кода веб-сервера Rails.
Множество драгоценных камней можно найти в github, но его уловщик для поиска драгоценных камней через ruby-gems или ruby-toolbox
Ваш gemfile
- это список всех драгоценных камней, которые вы хотите включить в проект.
Он используется с bundler (также жемчужиной) для установки, обновления, удаления и управления другими используемыми драгоценными камнями.
gemfile
имеет другую цель: вы можете группировать драгоценные камни в группах :development
, :test
, :assets
, :production
и т.д., а Rails будет знать, когда включать драгоценные камни. Например:
group :development, :test do
gem "rspec-rails"
gem "factory_girl_rails"
gem "guard-rspec"
end
Обратите внимание, что в Rails 4 группа assets
устарела
Эти драгоценные камни относятся к среде разработки и тестовой среде, поскольку они предназначены для тестирования приложения. Вы не нуждаетесь в них в производственной среде (вы могли бы, но это раздувает память без необходимости).
So - Чтобы использовать gemfile
, просто напишите драгоценный камень, который вы хотите установить, например
gem 'devise'
обязательно установите bundler
заранее (в консоли /cmd/ssh ) с помощью
$ gem install bundler
а затем запишите в консоль
bundle install
вы заметите, что появится еще один gemfile! Gemfile.lock
Этот файл, как вы увидите, если вы откроете его с помощью текстового чтения, перечисляет все ваши драгоценные камни с их версией и их зависимостями. Это пригодится, когда вам нужно знать, какие версии установленных вами камней.
Подробнее читайте на странице gemfile
- на странице поставщика.
для получения информации о выборе драгоценного камня вы можете начать с this
Удачи и получайте удовольствие!
Хорошо, так что это созданный Gemfile.lock?
Gemfile.lock, как следует из названия, является блокировкой на всех версиях всех установленных драгоценных камней. Поэтому, если Gemfile - это то, что требуется для установки, файл блокировки - это то, что установлено, и какая версия действительно требуется для запуска приложения.
Если у вас нет драгоценных камней в этой конкретной версии (как указано в Gemfile.lock), рельсы будут жаловаться, и вам придется либо установить отсутствующие драгоценные камни (через bundle install
), либо исправить любые конфликты вручную (я считаю, связка даст вам некоторые подсказки)
Некоторые вещи, которые нужно знать о Gemfile.lock
bundle install
. Если вы случайно удалите gemfile
, вам не повезло. Вы должны использовать git:) Gemfile
являются конфигурацией для Bundler, которая используется для управления вашими зависимостями Ruby приложения. Этот веб-сайт содержит много документации, в том числе страницу руководства Gemfile.
Я попытаюсь дать простой ответ
Объяснение по аналогии
Предположим, вы хотите сделать машину. С нуля. Теперь это будет кошмар. Вам нужно построить: шасси, двигатель, сопроводитель, радиатор, охлаждение, вентиляцию и т.д. И т.д. И т.д.
Драгоценные камни позволяют использовать автозапчасти, которые другие люди делали раньше
Но ты не единственный, кто строил машину. Каждый, кто когда-либо строил автомобиль, в основном делал то же самое. Там были умные люди, которые пошли туда и сделали двигатели внутреннего сгорания и т.д. Задолго до того, как вы........... на самом деле неважно.
Вам не нужно изобретать велосипед. Зачем создавать свои собственные, когда вы можете просто получить лучшее оборудование прямо с полки? Что делать, если вы могли бы получить один из лучших двигателей, созданный самыми талантливыми инженерами в мире, не поднимая пальца? Ты собираешься потратить год, пытаясь сделать свой собственный?
Так что, в основном, вместо того, чтобы делать все самостоятельно, вы записываете список покупок всех необходимых вам частей. И это в основном файл gem:
Что мой друг, это в основном ваш файл gem!
В вашей системе может быть много драгоценных камней... таким образом, может быть несколько версий одного и того же gem
.
A Gemfile
указывает список gems
с их versions
, который должен использоваться/загружаться/(устанавливать, если нет) всякий раз, когда вы запускаете приложение rails. или что-либо с bundle exec . .
Во-первых, что такое драгоценный камень?
Согласно Википедии:
RubyGems - это менеджер пакетов для языка программирования Ruby, который предоставляет стандартный формат для распространения программ Ruby и библиотеки
Gemfile
A Gemfile - это файл, который мы создаем, который используется для описания драгоценного камня зависимости для программ Ruby
Теперь очень простыми словами:
Gem можно рассматривать как библиотеку, которую вы можете использовать в своем коде. Пример: камень фейкера
Ваш код может использовать функциональные возможности faker
gem для создания поддельных данных.
Теперь вы можете перечислить все драгоценные камни, которые требуется вашему проекту в gemfile. Когда вы устанавливаете пакет, все драгоценные камни в вашем gemfile установлены для вас.