Se, como eu, você instalou uma versão mais recente da sua gem, você deve desinstalar a versão mais recente com, por exemplo gem uninstall fog. Ele perguntará qual versão desinstalar se você tiver mais de uma.
Dizzley
3
Eu tenho 3 versões do rake: gem list | grep rake= rake (10.1.1, 10.1.0, 0.8.7).. eu tenho um projeto rails 2.3.5 e outro que é 3.0 no qual estou trabalhando ao mesmo tempo .. como usar uma versão específica do rake para cada projeto (ou seja, sob comando )
abbood 13/03
@abbood rake _10.1.1_ ...deve funcionar, para quem quiser saber :)
Koen.
Vale ressaltar que isso não parece afetar os binários executáveis. A desinstalação da versão anterior funcionou para os binários.
Ciro Santilli escreveu:
Mais uma vez, desejando poder fazer vários upvotes. Talvez se eles tivessem que ser separados por pelo menos um ano. :)
Don Branson
192
Use o --versionparâmetro (atalho -v):
$ gem install rails -v 0.14.1
Você também pode usar comparadores de versão como >=ou~>
Isso funcionou para ~>, mas e se você tiver o tipo de situação '<0,9,> = 0,7'? Tentei aplicar dois argumentos v e parece que o primeiro foi ignorado. Usar o separador a vírgula nem analisaria. Acabei removendo o requisito maior que e instalou uma versão aceitável, mas ter uma solução formal seria bom.
Ótima resposta. Eu sugiro que você adicione outro bloco de código para a opção "-v" do sinalizador. Enquanto meus olhos liam a resposta, eles foram imediatamente para os blocos de código e não para o texto ao seu redor. Se outros fizerem o mesmo, perderão a parte "-v".
CamHart
8
Linux
Para instalar uma versão diferente do ruby, verifique a versão mais recente do pacote usando apto seguinte:
$ gem --version # Check for the current user.
$ sudo gem --version # Check globally.
Se a versão ainda estiver antiga, você pode tentar mudar a versão para nova usando o ruby version manager ( rvm):
rvm 1.9.3
Nota: Você pode prefixar sudose rvmfoi instalado globalmente. Ou execute /usr/local/rvm/scripts/rvmse seu comando rvmnão estiver no seu global PATH. Se o processo de instalação do rvm falhar, consulte a seção de solução de problemas.
Solução de problemas:
Se você ainda possui a versão antiga, pode tentar instalar o rvm (ruby version manager) via:
sudo apt-get install curl # Install curl first
curl -sSL https://get.rvm.io | bash -s stable --ruby # Install only for the user.#or:# curl -sSL https://get.rvm.io | sudo bash -s stable --ruby # Install globally.
se instalado localmente (apenas para o usuário atual), carregue o rvm via:
Nota: É preferível NÃO usar o sudo para trabalhar com gemas RVM. Ao executar o sudo, você está executando comandos como root, outro usuário em outro shell e, portanto, toda a configuração que o RVM fez para você é ignorada enquanto o comando é executado no sudo (como GEM_HOME, etc ...). Então, para reiterar, assim que você 'sudo' estiver executando como usuário do sistema raiz, que limpará seu ambiente, bem como quaisquer arquivos criados por ele, não poderão ser modificados pelo usuário e resultarão em coisas estranhas.
gem uninstall fog
. Ele perguntará qual versão desinstalar se você tiver mais de uma.gem list | grep rake
=rake (10.1.1, 10.1.0, 0.8.7)
.. eu tenho um projeto rails 2.3.5 e outro que é 3.0 no qual estou trabalhando ao mesmo tempo .. como usar uma versão específica do rake para cada projeto (ou seja, sob comando )rake _10.1.1_ ...
deve funcionar, para quem quiser saber :)Use o
--version
parâmetro (atalho-v
):Você também pode usar comparadores de versão como
>=
ou~>
Ou com versões mais recentes do gem mesmo:
fonte
~>
?Para instalar
gem install gemname -v versionnumber
Para desinstalar
gem uninstall gemname -v versionnumber
fonte
para Ruby 1.9+, use dois pontos ..
fonte
gem sources
, se ele está vazio, adicionar um repositório usando este comando:gem sources -a https://rubygems.org/
gem -v
shows1.8.23
contra o seu2.2.2
. Parece que este recurso é novo :)Como outros observaram, em geral use o
-v
sinalizador para ogem install
comando.Se você estiver desenvolvendo uma gema localmente, depois de cortar uma gema do seu gemspec:
Supondo a versão 0.8, ficaria assim:
fonte
Linux
Para instalar uma versão diferente do ruby, verifique a versão mais recente do pacote usando
apt
o seguinte:Em seguida, instale-o:
Para verificar qual é a versão atual, execute:
Se a versão ainda estiver antiga, você pode tentar mudar a versão para nova usando o ruby version manager (
rvm
):Nota: Você pode prefixar
sudo
servm
foi instalado globalmente. Ou execute/usr/local/rvm/scripts/rvm
se seu comandorvm
não estiver no seu globalPATH
. Se o processo de instalação do rvm falhar, consulte a seção de solução de problemas.Solução de problemas:
Se você ainda possui a versão antiga, pode tentar instalar o rvm (ruby version manager) via:
se instalado localmente (apenas para o usuário atual), carregue o rvm via:
se globalmente (para todos os usuários), então:
Se você ainda está tendo problemas com a nova versão do ruby, tente instalá-la pelo rvm via:
se você quiser instalar algumas gemas globalmente e já tiver o rvm instalado, tente:
ao invés de:
fonte