Acima não funciona na primeira vez, funciona na segunda vez.
Tente definir a versão do ruby para 2.0.0 para qualquer nova janela de shell.
Fazendo
$ rvm use 2.0.0 --default
dá
Warning! PATH is not properly set up, '/home/durrantm/.rvm/gems/ruby-1.9.3-p125/
bin' is not at first place,
usually this is caused by shell initialization files - check them for '
PATH=...' entries,
it might also help to re-add RVM to your dotfiles: 'rvm get stable --au
to-dotfiles',
to fix temporarily in this shell session run: 'rvm use ruby-1.9.3-p125'
.
Using /home/durrantm/.rvm/gems/ruby-2.0.0-p247
Então fazendo o mesmo
$ rvm use 2.0.0 --default
agora não dá nenhum erro, ou seja
$ rvm use 2.0.0 --default
Using /home/durrantm/.rvm/gems/ruby-2.0.0-p247
durrantm.../durrantm$
mas novas janelas ainda estão me dando ruby 1.9.3, não 2.0.0
Meu .bashrc
arquivo contém:
PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
[[ -s "/home/durrantm/.rvm/scripts/rvm" ]] && . "/home/durrantm/.rvm/scripts/rvm"
Meu .bash_profile tem:
source ~/.profile
case $- in *i*) . ~/.bashrc;; esac
Tentando
rvm get stable
parece funcionar, mas no final de muitos shows verdes:
Could not update RVM, get some help at #rvm IRC channel at freenode servers.
Uma nova janela de terminal rvm list rubies
mostra isso:
$ rvm list rubies
Warning! PATH is not properly set up, '/home/durrantm/.rvm/gems/ruby-1.9.3-p125/bin' is not at first place,
usually this is caused by shell initialization files - check them for 'PATH=...' entries,
it might also help to re-add RVM to your dotfiles: 'rvm get stable --auto-dotfiles',
to fix temporarily in this shell session run: 'rvm use ruby-1.9.3-p125'.
rvm rubies
=> ruby-1.9.3-p125 [ x86_64 ]
ruby-1.9.3-p194 [ x86_64 ]
* ruby-2.0.0-p247 [ x86_64 ]
# => - current
# =* - current && default
# * - default
~/.bashrc
,~/.bash_profile
, correndorvm get stable --auto-dotfiles
, re-checking~/.bashrc
,~/.bash_profile
e~/.profile
muitas vezes ... esta resposta, finalmente, fixa-lo! Ran:rvm reset
e se livrou dos avisos! (IMHO ... RVM é muito meticuloso em ser o primeiro no caminho ... Se eu definir outra coisa primeiro no meu caminho, eu sei o que estou fazendo)rvm reset
rvm reset
(a mensagem será exibida uma última vez), agora, sempre que eu emitir um comando rvm, não haverá mais avisos de PATH.rvm help
retornos dica bastante assustador pararvm reset
: remover todas as configurações padrão e do sistema 😄A resposta foi colocar o seguinte:
** no BOTTOM ** (última linha - importante!) do meu arquivo .bashrc. Eu o tinha em meu arquivo .bash_profile (estou no Ubuntu) e ele funcionou apenas parcialmente, levando a erros confusos.
fonte
export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
para Homebrew é provavelmente um comum que entra em conflito com o rvm.rvm reset
isso, fará isso para você automaticamente ...Talvez não seja a melhor maneira de resolver isso, mas adicionei essa linha na parte inferior do meu .zshrc (ela funcionará em .bashrc também!)
fonte
Tentei a solução de Michael Durrant e não funcionou para mim. mas corri
rvm get stable --auto-dotfiles
e começou a funcionar como desejado.Espero que ajude
fonte
rvm default
no final do meuconfig.fish
arquivo. o comandorvm reset
não ajudou em manter a janela do terminal aberta. Este comando funcionou. Minha saída: pastebin.com/1jUCSGnPbash
interpretador, e eu deveria ter verificado esses arquivos de configuração também ..rvm default
linha. É melhor agora ..Esta não é uma resposta para a pergunta feita, mas para a pergunta relacionada que a maioria dos comentadores / respondentes fez - Por que você precisa colocar a linha rvm na parte inferior do arquivo rc shell?
A resposta é simples.
$PATH
, e.bashrc
(ou equivalente para seu shell padrão) é lido e interpretado linha por linha de cima para baixo.Então imagine o seguinte cenário:
Claramente, se algo estiver presente no arquivo de inicialização do shell após a linha RVM e fizer qualquer alteração em $ PATH, mais especificamente se incluir diretórios antes
$PATH
, essas alterações empurrarão os diretórios adicionados pelo rvm para baixo de sua primeira posição. O RVM, quando chamado, descobrirá que seus diretórios binários ruby não estão no início de$PATH
e BAM! você receberá o aviso :).Espero que isso deixe as coisas claras.
fonte
Só acrescentando minha experiência: se você está usando
.bash_profile
, verifique se.bashrc
não está interferindo . Matar a.bashrc
favor de uma configuração Bash única.bash_profile
funciona neste caso.fonte
.bashrc
é executado para cada shell interativo aninhado;.bash_profile
só é executado no primeiro shell bash inserido, ou seja, o shell de login. As variáveis geralmente devem ser definidas em.bash_profile
, enquanto funções, apelidos etc. (coisas que não são transmitidas com o ambiente herdado normal) devem ser definidas em.bashrc
.Tenho uma pergunta de acompanhamento para isso (gostaria de poder simplesmente adicionar um comentário - mas não tenho créditos suficientes). Eu tive esse mesmo problema - e quando segui o script rvm que foi sugerido usar
--auto-dotfiles
, tive problemas, pois de alguma forma o script de shell excluiu meu arquivo .bashrc_profile .De qualquer forma, acabei obtendo a mesma resposta listada acima, colocando esta linha no final do arquivo .bashrc .
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
Você descobriu por que isso funciona dessa maneira, e não com a linha no meio do arquivo .bashrc? Você tem alguma clareza sobre a forma como o Unix está carregando a variável de ambiente que faz o RVM funcionar em uma instância e não em outra?
fonte
Eu estava enfrentando o mesmo problema. Eu encontrei isso no arquivo bashrc
várias entradas para rvm. Eu comentei uma entrada e está funcionando bem.
fonte
Limpei tudo o que tinha um .rvm na minha linha PATH = no meu .zshrc
Isso resolveu o problema para mim, onde as outras respostas aqui (fornecer o script rvm ou ficar estável com arquivos dot automáticos) não.
fonte
Achei este comando muito útil. Resolve meu caso. Portanto, se alguém estiver tendo o mesmo problema, experimente:
rvm get stable --auto-dotfiles
fonte
rvm install ruby-head
Corrigido o problema para mim - consumia pouco tempo, mas funcionava. Não tenho certeza se isso fez alguma atualização não anunciada em meus arquivos bash.fonte
Acabei removendo
~/.profile
,~/.bashrc
e~/.zshrc
.Basicamente, eu só mantive
~/.bash_profile
meu mac. E funciona.Acho que no meu caso existem:
nesses arquivos, e essas configurações duplicadas confundidas
rvm
fonte
aviso Legal
Porque eu desenvolvo principalmente usando python, então não tenho certeza se esta solução alternativa forneceria um env ruby correto ou apenas alteraria o caminho e se livraria do aviso
fundo
No meu caso, instalei
rvm
primeiro epyenv
depois. A configuração de ambos será alterada$PATH
. Pelo aviso, parece que o rvm sempre quer ser o primeiro no caminho$ echo $PATH
$HOME/.rvm/gems/ruby-2.6.3/bin: ......
Mas se você adicionar
eval "$(pyenv init -)"
conforme exigido porpyenv
, isso mudará seu$PATH
para$ echo $PATH
$HOME/.pyenv/shims:$HOME/.rvm/gems/ruby-2.6.3/bin: ......
Minha solução alternativa
$ rvm use system
# Volte para o rubi do sistema$ rvm use ruby-2.6.3
# Mude para a versão que você precisa usarrvm
mudará o caminho para o que quiser, então você não verá o aviso irritante novamente.fonte
Funcionou depois de comentar as 2 primeiras linhas duplicadas e adicioná-las na parte inferior. Não se esqueça de reiniciar o terminal para que funcione.
fonte
Você pode adicionar
ao seu
~/.rvmrc
arquivo. Isso é o que a mensagem de aviso sugere agora.fonte
PATH
me parece intrusivo e, no máximo , protetor , decidi postar esta resposta. VouCORRIGI ESSE PROBLEMA. TENTE USAR O COMANDO ASSIM:
ADICIONE -p353 ou outro detalhe de sua versão ao final da linha
fonte