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

В чем разница между "~> 4.0.1", "4.0.1" и спецификатором версии в Gemfile?

В Rails Gemfile существуют различия между ними:

gem "gemname", "~> 4.0.1"

и

gem "gemname", "4.0.1"

и

gem "gemname"

Кроме того, что следует использовать там, где и что выгодно следовать этому пути?

4b9b3361

Ответ 1

Первый скажет компоновщику загрузить любой драгоценный камень, который зависит от последнего номера (патча). Так что 4.0.х где х равен 1 или больше.

Второй загрузит только 4.0.1.

Третий получит наибольшее значение, которое работает (в зависимости от потребностей остальных ваших драгоценных камней в вашем Gemfile) или получит все, что указано в вашем Gemfile.lock, если он у вас есть.

Я пропустил ваш второй вопрос. Честно говоря, это зависит. По большей части я выбираю первый вариант, потому что он позволяет мне исправлять ошибки, не беспокоясь о том, как это повлияет на другие мои драгоценные камни.