Почему вам нужно «требовать Bundler / Setup '»?

почти в каждой синатре, который я видел, несмотря на то, что он делает, он всегда имеет следующие две линии:

require 'rubygems'
require 'bundler/setup'

в Большинство примеров, удаление требуемого «Bundler / Setup», похоже, не оказывают нарушайте эффект, поэтому я путаю в замешательстве, когда / где мне нужно включить это.

Я ненавижу используя вещи, не зная, что именно причина того, чтобы она была там, поэтому я надеялся, что кто-то может объяснить, почему мне нужны обе линии, и что они делают?

27
задан Martin 30 August 2011 в 12:58
поделиться

1 ответ

Существует практическое объяснение:

Допустим, мы хотим использовать гем pristine_text из мастер-ветви github

Gemfile:

gem "pristine_text", github: "nurettin/pristine_text"

main.rb : (неправильно)

require "pristine_text"
# error, can't find pristine_text

require не может найти его, потому что драгоценный камень не находится в пути, который может увидеть ruby. Если вы посмотрите на фактический путь драгоценного камня, вы увидите, что он находится под

/pristine-text-some_commit_id

main.rb: (справа)

require "bundler/setup"
require "pristine_text"
# no error

ошибка исчезла, потому что теперь вы загружаете компоновщик с путями загрузки ваших зависимостей.

8
ответ дан 28 November 2019 в 05:39
поделиться
Другие вопросы по тегам:

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