Rails - разные версии на моей машине - PullRequest
2 голосов
/ 12 ноября 2009

Меня интересует версия рельсов.

Я нахожусь в каталоге проекта:

  • когда я запускаю "rails --version", я получаю v2.3.4.
  • когда я запускаю «script / about», я получаю другой ответ, v2.1.1.
  • в environment.rb, у меня есть строка "RAILS_GEM_VERSION = '2.1.1' ...." *

Хорошо, так где же этот рельс v2.1.1? Я думал, может быть, вендор, но нет, должно быть? Я знаю, что мои установленные (v2.3.4.) Рельсы находятся в /usr/bin/rails.

Кто-нибудь прояснил это для меня?

Ответы [ 3 ]

4 голосов
/ 12 ноября 2009

Есть несколько возможностей.

. / Config / environment.rb содержит константу RAILS_GEM_VERSION, которая используется, если вы не переопределяете это значение, и обычно указывает, с какой версией rails было создано ваше приложение. При запуске script / about это постоянное значение должно отображаться по умолчанию.

Рельсы списка драгоценных камней покажут вам, какие версии установлены локально, и вы можете иметь несколько версий в любой момент времени.

Наконец, приложения Rails могут «заморозить» текущую версию rails, чтобы они могли рассчитывать на правильную версию библиотек rails для своего приложения, выполнив

rake rails:freeze:gems

Вы можете отменить это, запустив

rake rails:unfreeze

Вы также можете обновить конфигурацию, набрав rake rails:update, или заморозить до определенной версии с помощью rake rails:freeze:edge RELEASE=2.2.2.

2 голосов
/ 12 ноября 2009

Rails - это рубиновый камень - вы можете увидеть все установленные версии по gem list rails. И он должен быть установлен в вашем каталоге gems.

0 голосов
/ 12 ноября 2009

/ usr / bin / rails - это оболочка для скрипта создания проекта установленной версии rails. Это просто исполняемый скрипт ruby, который использует Ruby Gems для выбора правильной версии rails.

Место установки драгоценных камней зависит от того, где установлены ваши камни.

Чтобы узнать, где хранятся драгоценные камни, выполните следующие инструкции ruby. Либо в irb, либо в виде исполняемого скрипта.

require 'rubygems'
puts Gem.path.join("\n")

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

В моей системе это выводит /usr/lib/ruby/gems/1.8 и ~ / .gem / ruby ​​/ 1.8

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