Зачем мне "устанавливать пакет" после каждой перезагрузки в rails 3.2.1 с помощью rvm? - PullRequest
3 голосов
/ 14 февраля 2012

По какой-то причине каждый раз, когда я перезагружаю свой компьютер, мне приходится много раз переделывать установку Ruby on Rails.Я должен повторить «установку комплекта», чтобы установить все гемы в моем Gemfile, а затем мне нужно переустановить рельсы с помощью «gem install rails», даже если я установил рельсы через RVM.У меня никогда не было этой проблемы на другом компьютере с другими настройками, поэтому я не уверен, что идет не так.

Ниже приведен вывод терминала, который, надеюсь, поможет кому-то отладить то, что идет не так.

$ rails

В настоящее время Rails не установлен в этой системе.Чтобы получить последнюю версию, просто наберите:

$ sudo gem install rails

Затем вы можете повторно запустить команду "rails".

$ rvm -v

rvm 1.10.2 by Wayne E. Seguin, Michal Papis [https://rvm.beginrescueend.com/]

$ rvm info

ruby-1.9.2-p290 @demoapp:

system: uname: "Darwin Jonathans-Mac-Pro.local 11.2.0 Darwin Kernel Версия 11.2.0: Вторник, 9 августа 20:54:00 PDT 2011; root: xnu-1699.24.8 ~1 / RELEASE_X86_64 x86_64 "bash:" / bin / bash => GNU bash, версия 3.2.48 (1) -релиз (x86_64-apple-darwin11) "zsh:" / bin / zsh => zsh 4.3.11 (i386-apple-darwin11.0) "

rvm: версия:" rvm 1.10.2 от Wayne E. Seguin, Michal Papis [https://rvm.beginrescueend.com/]" обновлено: "11 часов 11 минут 19 секунд назад"

ruby: интерпретатор: "ruby" версия: "1.9.2p290" дата: "2011-07-09" платформа: "x86_64-darwin11.2.0" уровень исправления: "2011-07-09 редакция 32553" full_version: "ruby 1.9.2p290 (редакция 2011-07-09, 32553) [x86_64-darwin11.2.0] "

homes: gem:" / Users / joncalhoun/.rvm/gems/ruby-1.9.2-p290@demoapp "ruby:" /Users/joncalhoun/.rvm/rubies/ruby-1.9.2-p290"

двоичные файлы: ruby: "/Пользователи / joncalhoun / .rvm / rubies / ruby-1.9.2-p290 / bin / ruby ​​"irb:" /Users/joncalhoun/.rvm/rubies/ruby-1.9.2-p290/bin/irb "gem:" /Пользователи / joncalhoun / .rvm / rubies / ruby-1.9.2-p290 / bin / gem "rake:" /Users/joncalhoun/.rvm/gems/ruby-1.9.2-p290@demoapp/bin/rake"

среда: PATH: "/Users/joncalhoun/.rvm/gems/ruby-1.9.2-p290@demoapp/bin:/Users/joncalhoun/.rvm/gems/ruby-1.9.2-p290@global/bin:/Users/joncalhoun/.rvm/rubies/ruby-1.9.2-p290/bin:/Users/joncalhoun/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr / local / bin: / usr / X11 / bin "GEM_HOME:" /Users/joncalhoun/.rvm/gems/ruby-1.9.2-p290@demoapp "GEM_PATH:" /Users/joncalhoun/.rvm/gems/ruby-1.9.2-p290@demoapp: /Users/joncalhoun/.rvm/gems/ruby-1.9.2-p290@global "MY_RUBY_HOME:" /Users/joncalhoun/.rvm/rubies/ruby-1.9.2-p290 "IRBRC: "/Users/joncalhoun/.rvm/rubies/ruby-1.9.2-p290/.irbrc" RUBYOPT: "" gemset: "demoapp"

$gem -v

1.8.16

$ gem, который (ничего странного не возвращает)

После того, как я установил gem rails: $ rails -v

Rails 3.2.1

Я предполагаю, что это что-то не так с моей настройкой драгоценного камня, но я не знаю достаточно, чтобы знать, где копать.Если вам нужна дополнительная информация, я могу ее предоставить и поблагодарить всех, у кого есть время помочь.

1 Ответ

3 голосов
/ 15 февраля 2012

Если вы используете Rails 3.2.1 с RVM, вам обычно не нужно запускать 'gem install' вручную.

Полагаю, вы установили интерпретатор ruby ​​через RVM (или, возможно, вы не установили ruby ​​в RVM) или не настроили RVM для выбора интерпретатора ruby ​​по умолчанию.

Вы можете настроить ruby ​​по умолчанию с помощью (если вы используете 1.9.3-p0):

rvm 1.9.3-p0 --default

Затем, рубин 1.9.3-p0 будет действовать после входа в оболочку. Вы можете проверить, какой ruby-интерпретатор используется:

which ruby

Если вы правильно настроили, это должно быть напечатано как:

{your-home-path}/.rvm/rubies/ruby-1.9.3-p0/bin/ruby

В приложении rails для post-bundler-age вам просто нужно запустить bundler для установки необходимых гемов (на текущий набор гемов в RVM). Если вы не создадите gemset, будет использоваться глобальный gemset. Run:

bundle

установит все нужные вам драгоценные камни.

Теперь, поскольку RVM автоматически выбирает 1.9.3-p0 с набором гемов с именем «global», вам не нужно переустанавливать его после загрузки (как я).

При желании вы можете создать gemset для приложения rails и настроить его для каждого каталога. Чтобы настроить интерпретатор gemset / ruby ​​по умолчанию для каждого приложения, проверьте сайт RVM.

...