Eu quero alternar entre os trilhos 2.3.10 como a gema "ativa" do meu sistema operacional, para poder invocá-lo na linha de comando.
É possível fazer isso? Não estou usando o rvm. Talvez seja hora de começar.
Eu tentei gem install rails --version=2.3.10
, mas isso só garante que a versão da gema está instalada, não a coloca /usr/bin/rails
.
(Eu já uso o bundler para meus aplicativos - mas não precisava de nenhum controle preciso sobre as gemas no nível do sistema operacional até agora)
ruby-on-rails
ruby
rubygems
rvm
John Bachir
fonte
fonte
rackup _1.4.3_ --version
<br>Rack 1.1 (Release: 1.4)
Rack.version
eRack.release
github.com/rack/rack/blob/master/lib/rack.rb ). Experimentegem install rack --version=1.3 && rackup _1.3.0_ --version
, vai imprimirRack 1.1 (Release: 1.3)
which rackup | xargs cat
Use RVM
RVM permite que você gerencie diferentes versões de Ruby e Gems. Você pode instalar uma versão do ruby usando, por exemplo
rvm install 1.9.2
Você pode usá-lo usando:
rvm use 1.9.2
Use gemas específicas por projeto com conjuntos de gemas.
Se você quiser mais namespacing, pode configurar conjuntos de joias; diretórios que conterão gemas específicas para um projeto específico.
então você pode usá-los assim:
rvm use 1.9.2@myproject
Automação
Para automatizar o processo de troca de gemas, coloque os arquivos .ruby-version e .ruby-gemset na raiz do projeto. Abra a versão do Ruby e o nome do gemset que deseja usar dentro deles e o RVM selecionará o gemset correto quando você colocar o cd no diretório do projeto.
Instalando joias em seu conjunto de joias
Instale suas gemas em seu conjunto de gemas da maneira usual usando o bundler se você estiver usando:
ou apenas usando o antigo normal:
As joias irão no conjunto de joias certo.
Alternativas RVM
Você também pode verificar o rbenv, que faz um trabalho semelhante.
fonte
Você pode usar RVM
Depois, você também pode usar o Bundler , que gerencia bem as dependências de gemas.
Na tua
Gemfile
gem "rails", "2.3.10"
e em seu aplicativo
require 'rubygems' require 'bundler/setup'
e pronto.
fonte
bundle exec warble
EDIT: Acabei de ver a sua menção RVM no post. Definitivamente, o caminho a percorrer.
Você vai querer instalar o RVM - é um pacote incrível que permite gerenciar diferentes Rubys e diferentes conjuntos de joias na mesma máquina. Você pode alternar para frente e para trás com total facilidade.
Aqui está o guia de instalação: http://rvm.beginrescueend.com/rvm/install/
Assim que tiver tudo pronto, você pode ver todos os rubys instalados na linha de comando com
rvm list
e alternar comrvm use ruby-head
, por exemplo. O RVM mantém as joias de cada rubi separadas, o que deve ajudar com sua dúvida.fonte