Подтвердить что ты не робот

Каково использование Gemfile в рельсах?

Каково использование Gemfile в рельсах?

Как использовать Gemfile?

4b9b3361

Ответ 1

Во время вашей разработки в 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:)
  • Heroku не заботится о Gemfile.lock, поскольку он переустанавливает все драгоценные камни. Итак, для Heroku вы должны установить версию gem, которую хотите, или Heroku всегда будет устанавливать последнюю версию драгоценного камня, что может вызвать проблемы.
  • Храните файл Gemfile.lock в своем проекте, чтобы вы всегда знали, какая версия драгоценных камней делает ваше приложение работоспособным.

Ответ 2

Gemfile являются конфигурацией для Bundler, которая используется для управления вашими зависимостями Ruby приложения. Этот веб-сайт содержит много документации, в том числе страницу руководства Gemfile.

Ответ 3

Я попытаюсь дать простой ответ

Объяснение по аналогии

Предположим, вы хотите сделать машину. С нуля. Теперь это будет кошмар. Вам нужно построить: шасси, двигатель, сопроводитель, радиатор, охлаждение, вентиляцию и т.д. И т.д. И т.д.

Драгоценные камни позволяют использовать автозапчасти, которые другие люди делали раньше

Но ты не единственный, кто строил машину. Каждый, кто когда-либо строил автомобиль, в основном делал то же самое. Там были умные люди, которые пошли туда и сделали двигатели внутреннего сгорания и т.д. Задолго до того, как вы........... на самом деле неважно.

Вам не нужно изобретать велосипед. Зачем создавать свои собственные, когда вы можете просто получить лучшее оборудование прямо с полки? Что делать, если вы могли бы получить один из лучших двигателей, созданный самыми талантливыми инженерами в мире, не поднимая пальца? Ты собираешься потратить год, пытаясь сделать свой собственный?

Так что, в основном, вместо того, чтобы делать все самостоятельно, вы записываете список покупок всех необходимых вам частей. И это в основном файл gem:

  • Двигатель Rolls Royce
  • ремни безопасности AutoLive
  • Шины Michellin.
  • Фары PIAA Night
  • и т.д.

Что мой друг, это в основном ваш файл gem!

Ответ 4

В вашей системе может быть много драгоценных камней... таким образом, может быть несколько версий одного и того же gem.

A Gemfile указывает список gems с их versions, который должен использоваться/загружаться/(устанавливать, если нет) всякий раз, когда вы запускаете приложение rails. или что-либо с bundle exec . .

Ответ 5

Во-первых, что такое драгоценный камень?

Согласно Википедии:

RubyGems - это менеджер пакетов для языка программирования Ruby, который предоставляет стандартный формат для распространения программ Ruby и библиотеки

Gemfile

A Gemfile - это файл, который мы создаем, который используется для описания драгоценного камня зависимости для программ Ruby

Теперь очень простыми словами:

Gem можно рассматривать как библиотеку, которую вы можете использовать в своем коде. Пример: камень фейкера

Ваш код может использовать функциональные возможности faker gem для создания поддельных данных.

Теперь вы можете перечислить все драгоценные камни, которые требуется вашему проекту в gemfile. Когда вы устанавливаете пакет, все драгоценные камни в вашем gemfile установлены для вас.