Chcę przełączać się między szynami 2.3.10 jako "aktywny" klejnot dla mojego systemu operacyjnego, abym mógł wywołać go z linii poleceń.
Czy da się to zrobić? Nie używam rvm. Może czas zacząć.
Próbowałem gem install rails --version=2.3.10
, ale to tylko upewnia się, że wersja klejnotu jest zainstalowana, a nie umieszcza go /usr/bin/rails
.
(Używam już pakietu do moich aplikacji - ale do tej pory nie potrzebowałem żadnej precyzyjnej kontroli nad klejnotami na poziomie systemu operacyjnego)
ruby-on-rails
ruby
rubygems
rvm
John Bachir
źródło
źródło
rackup _1.4.3_ --version
<br>Rack 1.1 (Release: 1.4)
Rack.version
iRack.release
github.com/rack/rack/blob/master/lib/rack.rb ). Spróbujgem install rack --version=1.3 && rackup _1.3.0_ --version
, wydrukujeRack 1.1 (Release: 1.3)
which rackup | xargs cat
Użyj RVM
RVM umożliwia zarządzanie różnymi wersjami Ruby i Gems. Możesz zainstalować wersję Rubiego, używając na przykład
rvm install 1.9.2
Możesz go następnie użyć za pomocą:
rvm use 1.9.2
Używaj konkretnych klejnotów na projekt z zestawami klejnotów.
Jeśli chcesz zwiększyć przestrzeń nazw, możesz skonfigurować gemsets; katalogi, które będą zawierać określone perełki dla konkretnego projektu.
wtedy możesz ich używać w ten sposób:
rvm use 1.9.2@myproject
Automatyzacja
Aby zautomatyzować proces zmiany gemów, plików pop .ruby-version i .ruby-gemset w katalogu głównym projektu. Wstaw wersję Rubiego i nazwę zestawu gemset, którego chcesz użyć w nich, a RVM wybierze właściwy zestaw gemset, kiedy wejdziesz do katalogu projektu.
Instalowanie klejnotów w swoim zestawie kamieni
Zainstaluj klejnoty w swoim zestawie klejnotów w zwykły sposób za pomocą pakietu, jeśli go używasz:
lub po prostu używając zwykłego starego:
Klejnoty zostaną umieszczone w odpowiednim zestawie kamieni.
Alternatywy RVM
Możesz także sprawdzić rbenv, który wykonuje podobną pracę.
źródło
Możesz użyć RVM
Następnie możesz również użyć Bundlera , który dobrze zarządza zależnościami gem.
W Twoim
Gemfile
gem "rails", "2.3.10"
i we wniosku
require 'rubygems' require 'bundler/setup'
i jesteś skończony.
źródło
bundle exec warble
EDYCJA: Właśnie zobaczyłem wzmiankę o RVM w poście. Zdecydowanie droga do zrobienia.
Będziesz chciał zainstalować RVM - to niesamowity pakiet, który pozwoli ci zarządzać różnymi Rubinami i różnymi zestawami klejnotów na tej samej maszynie. Możesz przełączać się tam iz powrotem z całkowitą łatwością.
Oto przewodnik instalacji: http://rvm.beginrescueend.com/rvm/install/
Gdy wszystko się podniesie, możesz zobaczyć wszystkie zainstalowane ruby w wierszu poleceń , na przykład za pomocą
rvm list
i przełączać sięrvm use ruby-head
za pomocą. RVM oddziela klejnoty na każdym rubinie, co powinno pomóc w rozwiązaniu Twojego pytania.źródło