Когато се работи по даден проект е добра практика да се прави отделен gemset за дадения проект. Gemset е folder, където се инсталират различните gem-ове, когато човек изпълни gem install gemname
. Нов gemset се съсздава с rvm gemset create gemset_name
. След като се създаде, трябва изрично да се каже на rvm да го ползва с rvm gemset use gemset_name
. За да укажем на rvm да ползва дадена версия на Руби (примерно 2.1.0), ползваме команда rvm use 2.1.0
. Понякога обаче е досадно всеки път когато започнете нова работна сесия по даден проект да изпълнявате двете use команди. Затова човек може да направи следното (за примера примеам, че папката ми се казва fmi и gemset-а, който съм създал също съм кръстил fmi):
- в директорията, в която е проекта, човек създава файл с име
.ruby-version
и съдържаниеruby-2.1.0
- втори файл с име
.ruby-gemset
и съдържаниеfmi
Това е всичко. Сега всеки път когато от конзолата влезете в дадената папка (cd ~/Documents/fmi примерно) rvm автоматично ще ползва правилната версия и gemsest. Можете да проверите това като изпълните следните команди в конзолата:
cd ~/Documents/fmi
ruby -v
rvm gemset name
Накрая - удобно е човек да изпълни кода директно в Sublime Text 2 с cmd+b / ctrl + b. За да накарате ST2 да ползва версията на Руби, която rvm избира, отворете файл ~/Library/Application\ Support/Sublime\ Text\ 2/Packages/Ruby/Ruby.sublime-build
на OS X или ~/.config/sublime-text-2/Packages/Ruby/Ruby.sublime-build
на Linux и му сложете това съдържание (като сложите съответното потребителско име вместо frank):
{
"cmd": [ "/Users/frank/.rvm/bin/rvm-auto-ruby", "$file" ],
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
"selector": "source.ruby"
}