рвм: как я на самом деле знаю, что это работает - PullRequest
1 голос
/ 03 апреля 2011

Я успешно установил rvm, а затем установил ruby ​​1.8.7, ruby ​​1.9.2 и jruby 1.6.0. В настоящее время я использую 1.8.7 для всех своих проектов rails, но я бы хотел поэкспериментировать с 1.9.2, и я также хотел бы развернуть jruby в тех средах, которые специфичны для Java.

Итак, я использовал rvm, чтобы выбрать jruby, а затем запустил свое текущее приложение rails на mongrel @ localhost: 3000. Это работало отлично. Затем я запустил команду процесса Linux и посмотрел имена запущенных процессов, и нашел ruby1.8. Означает ли это, что экземпляр Mongrel загрузил ruby ​​1.8, но rails использует jruby-1.6.0? Я не знаю. Кто подскажет, как определить, что я действительно использую jruby?

Ответы [ 2 ]

0 голосов
/ 08 апреля 2011

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

##################################################
### RVM-specific command line (PS1): show current rvm and gemset

function __my_rvm_ruby_version {
  local gemset=$(echo $GEM_HOME | awk -F'@' '{print $2}')
  [ "$gemset" != "" ] && gemset="@$gemset"
  local version=$(echo $MY_RUBY_HOME | awk -F'-' '{print $2}')
  local full="$version$gemset"
  [ "$full" != "" ] && echo "$full "
}

bash_prompt() {
  local NONE="\[\033[0m\]"    # unsets color to term's fg color

  # regular colors
  local K="\[\033[0;30m\]"    # black
  local R="\[\033[0;31m\]"    # red
  local G="\[\033[0;32m\]"    # green
  local Y="\[\033[0;33m\]"    # yellow
  local B="\[\033[0;34m\]"    # blue
  local M="\[\033[0;35m\]"    # magenta
  local C="\[\033[0;36m\]"    # cyan
  local W="\[\033[0;37m\]"    # white

  # emphasized (bolded) colors
  local EMK="\[\033[1;30m\]"
  local EMR="\[\033[1;31m\]"
  local EMG="\[\033[1;32m\]"
  local EMY="\[\033[1;33m\]"
  local EMB="\[\033[1;34m\]"
  local EMM="\[\033[1;35m\]"
  local EMC="\[\033[1;36m\]"
  local EMW="\[\033[1;37m\]"

  # background colors
  local BGK="\[\033[40m\]"
  local BGR="\[\033[41m\]"
  local BGG="\[\033[42m\]"
  local BGY="\[\033[43m\]"
  local BGB="\[\033[44m\]"
  local BGM="\[\033[45m\]"
  local BGC="\[\033[46m\]"
  local BGW="\[\033[47m\]"
  local UC=$W                 # user's color
  [ $UID -eq "0" ] && UC=$R   # root's color

  PS1="$R\$(__my_rvm_ruby_version)$Y\h$W:$EMY\W${NONE}$ "  
}

bash_prompt
unset bash_prompt
############## PS1 editing section ends
0 голосов
/ 03 апреля 2011
type rvm | head -1

В приведенной выше строке должно быть указано, что RVM является функцией, и подтверждает, что она установлена ​​правильно.

Были ли у вас проблемы с инструкциями по вводу строки

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # This loads RVM into a shell session.

в ваш профиль Bash? Это было немного неясно, на мой взгляд. Если это так, вам нужно перейти в свой домашний каталог и создать файл .bash_profile (источник: http://donovan.covblogs.com/archives/027838.html)

Это необходимо сделать, прежде чем вы сможете убедиться, что ruby ​​1.9.2 установлен, иначе он будет забыт / потерян, когда вы закроете оболочку.

Что касается используемой вами версии ruby, убедитесь, что вы устанавливаете версию по умолчанию. Ниже взято из учебника по Ruby on Rails 3, поэтому не стесняйтесь изменять некоторые соглашения об именах:

$ rvm --create 1.8.7-p174@rails2tutorial
$ rvm --create use 1.9.2@rails3tutorial

тогда

$ rvm --default use 1.9.2@rails3tutorial

Финал, наберите $ ruby -v, и вы должны получить ruby 1.9.2

Источник: http://ruby.railstutorial.org/chapters/beginning#sec:install_ruby

...