Почему Rails устанавливает новую рейку 5.1.6? - PullRequest
0 голосов
/ 11 мая 2018

Я читаю книгу «Гибкая разработка с Rails» и следую руководству.Используя Rbenv я установил рельсы 5.1.3.Когда я запускаю "rails new demo", он автоматически устанавливает rails 5.1.6.

Хотя это не кажется большой проблемой, книга указывает, что вы должны использовать 5.1.3, и мне любопытно, почемуэто происходит.Я также заметил, что выполнение команды явно с rails _5.1.3_ дает те же результаты, когда вы запускаете bin / rails, у вас все равно получается 5.1.6

. Любая помощь будет принята с благодарностью!

Ответы [ 2 ]

0 голосов
/ 18 мая 2018

Ubuntu 16.04, используя rbenv

Я только начал эту книгу и столкнулся с точно такой же проблемой.Для справки, книга Pragmatic Programmer Agile Web Development с Rails 5.1

Решение:

Откройте Gemfile с помощью редактора и найдите следующую строку:

gem 'rails', '~> 5.1.3'

Измените эту строку следующим образом (в основном удалите '~>'):

gem 'rails', '5.1.3'

Выполните bundle install, который вернул список ошибок, касающихся зависимостей гемов:

Снимок экрана Bash

Запуск bundle update, как показывают сообщения об ошибках.Bundler теперь возвращается к Rails 5.1.3 и возвращает все гемы, которые зависят от него («Использование rails 5.1.3 (было 5.1.6)»):

снимок экрана Bash

Пояснение

Bundler утверждает, что «~>» означает «эту версию или выше, но ниже следующей вспомогательной версии (в данном случае 5.2.0»).см. семантическое управление версиями ) ".Таким образом, «~>» позволяет Bundler устанавливать 5.1.6 просто потому, что она является самой высокой из доступных на данный момент.

Когда вы обновляете свой Gemfile до '5.1.3', вы говорите Bundler использовать именно эту версию.

0 голосов
/ 12 мая 2018

Похоже, что по умолчанию команда rails new будет создавать приложения только с последней версией патчей rails. На момент написания книги книга 5.1.3 была, скорее всего, самой последней и самой большой. Попробовал установить более старые версии рельсов и повторил процесс установки несколько раз. Я попытался создать проект с rails 5.0.2, и он создал проект с rails 5.0.7, который является последней версией патча для 5.0.

...