Eu sou um usuário NOVICE do Linux e uso o Linux mint 17.1
Reinstalei o Linux Mint 20 vezes nos últimos 3 dias para esse problema, mas não foi possível corrigi-lo
Estou tentando instalar o ruby on rails usando o rvm, o que aconteceu foi se iniciar uma nova instalação do Linux e tentar instalar gemas e ruby e outras coisas em uma sessão de terminal instalada com sucesso assim que eu fechar a sessão do terminal, não consigo obter essas gemas .
Ao reinstalá-lo mais de 20 vezes nos últimos 3 dias, pesquisei na web também. Foi-me dito para colocar a variável de ambiente no /etc/environment
eco do caminho nessa sessão e colá-lo no /etc/environment
arquivo.
mesmo agora não recebo minhas gemas instaladas
quando digitei rvm -v
, recebo os seguintes erros
Warning: PATH set to RVM ruby but GEM_HOME and/or GEM_PATH not set, see:
https://github.com/wayneeseguin/rvm/issues/3212
Warning! PATH is not properly set up, $GEM_HOME is not set,
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-2.2.2'.
rvm 1.26.11 (latest) by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> [https://rvm.io/]
Eu sou uma pessoa muito iniciante quando se trata de trabalhar com terminal. Posso executar alguns comandos básicos para trabalhar com ruby.
Eu gostaria de saber
- Como definir PATH
- Como definir GEM_HOME
- Como definir GEM_PATH
Abaixo está o meu caminho completo
echo $PATH
/home/sharif/.rvm/gems/ruby-2.2.2/bin:/home/sharif/.rvm/gems/ruby-2.2.2@global/bin:/home/sharif/.rvm/rubies/ruby-2.2.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/sharif/.rvm/bin
Respostas:
Parece que você deseja o comando
export
para definir variáveis de ambiente:Isso só terá efeito para a sessão atual. Para torná-los mais permanentes, adicione essas linhas ao seu
~/.bashrc
.fonte
Geralmente, isso significa que o rvm não está configurado corretamente. O erro usual é que você não modificou seu
.bashrc
(ou similar) corretamente ou não recarregou seu terminal.Você não deve configurar GEM_HOME ou GEM_PATH manualmente ao usar o rvm.
Você pode tentar
source ~/.rvm/scripts/rvm
e ver se isso funciona.Também pode ser que você ainda não tenha construído um conjunto de gemas. Não use rvm e sudo. O Rvm funciona melhor quando instalado na sua conta e não em todo o sistema.
fonte
source ~/.rvm/scripts/rvm
ao seu~/.bashrc
para garantir que ele seja carregado toda vez que você iniciar um novo shell.Aqui está o que aprendi e como resolvi esse problema aparentemente comum das variáveis de ambiente GEM_HOME e GEM_PATH não configuradas como erro.
fundo
A instalação do RVM deve criar envios GEM_HOME e GEM_PATH para cada RVM configurado e faz isso. Mas há um bug aparentemente tal que, em alguns casos, os envios são configurados apenas temporariamente e, para configurá-los novamente, é necessário configurá-los com a linha de comando. Eu encontrei uma solução alternativa para fazer os ambientes persistirem para um RVM.
Gambiarra
Encontre sua versão Ruby ativa (na RVM): no servidor de produção, vá para o diretório do aplicativo e digite
$rvm list
. Isso resultará em uma lista das versões do Ruby instaladas e qual está ativa para o RVM. Exemplo da resposta:rvm rubies ruby-1.9.3-p547 [ x86_64 ] => ruby-1.9.3-p551 [ x86_64 ]
Então, eu sei que o RVM está atualmente usando a versão
ruby-1.9.3-p551
. Você precisa dessas informações para a próxima etapa.Obtenha os caminhos para GEM_PATH e GEM_HOME : Faça isso executando na linha de comando
$rvm use ruby-1.9.3-p551
. Em seguida, ainda a partir da linha comman mostrar todas as configurações de ambiente usando o comandoenv
. Procure por GEM_PATH e GEM_HOME e copie-os na totalidade para um espaço de trabalho.GEM_PATH=/usr/local/rvm/gems/ruby-1.9.3-p551:/usr/local/rvm/gems/ruby-1.9.3-p551@global GEM_HOME=/usr/local/rvm/gems/ruby-1.9.3-p551
Defina as variáveis de ambiente GEM_HOME e GEM_PATH: Agora defina essas variáveis de ambiente em um dos muitos arquivos de perfil. Como eu queria manter a estrutura de isolamento da versão do RVM, atualizei o /profile.d/appspecific.sh com estas duas linhas:
export GEM_PATH=/usr/local/rvm/gems/ruby-1.9.3-p551:/usr/local/rvm/gems/ruby-1.9.3-p551@global export GEM_HOME=/usr/local/rvm/gems/ruby-1.9.3-p551
fonte
Eu descobri que .profile é carregado por último e coloca ~ / .local / bin e ~ / bin na frente do caminho. Mudei o /etc/profile.d/rvm.sh para ~ / .rvm e, no final do .profile, adicionei "source ~ / .rvm / rvm.sh" e o erro desapareceu. Estou no Linux Mint 18.3. Tenho pyenv, rvm e sdkman instalados e todos querem ser os últimos. Eles estão todos funcionando bem agora. :)
Se for um sistema compartilhado, mova o rvm.sh para algum lugar fora do caminho e qualquer outro usuário poderá obtê-lo, como em /opt/rvm/rvm.sh, por exemplo.
fonte
Como o @coteyr mencionado, você não deve definir manualmente GEM_HOME e GEM_PATH ao usar
rvm
. Se você checar sua variável de ambiente PATH, executando$ echo $PATH
$ HOME / .rvm / bin, será necessário garantir que seu terminal execute comandos como um shell de login. Por exemplo, se você estiver em uma máquina Ubuntu, abra seu terminal e vá para: menu> Editar> Preferências de perfil> Comando e selecione "Executar comando como um shell de login"Este parece ser um problema antigo com o
rvm
qual suponho que não é trivial de corrigir, uma vez que já existe há algum tempo.fonte
Para preencher
$GEM_PATH
com o meu sistema (Manjaro / Arch)gems
, adicionei ao meu.bashrc
:fonte