Usando RVM com gvim sem instalar o binário ruby

2

No Arch Linux, aparentemente gvim requer a instalação do ruby como dependência. No entanto, se eu quiser trabalhar com o RVM, não preciso do binário ruby instalado.

Isso pode causar problemas? Ruby pode ser removido e configurado para usar a versão RVM do Ruby instalada?

Observe que a tentativa de sudo pacman -Rs ruby gera um erro:

error: failed to prepare transaction (could not satisfy dependencies)
:: gvim: requires ruby

Alguma dica?

    
por Alain Jacomet Forte 16.07.2013 / 14:11

2 respostas

2

Opção nº 1

Você precisará recompilar gvim para remover o requisito. É configurável ao criá-lo.

Esta postagem que escrevi no meu blog mostra como compilar o suporte ao Ruby, mas você pode facilmente removê-lo. OBSERVAÇÃO: este post é específico do Fedora / RHEL, portanto não é um modelo de etapas a seguir, mas apenas para mostrar que é possível recompilar gvim com / sem suporte a Ruby se você desejar escolha.

Aliás, acho que o problema que você está enfrentando é que o gerenciador de pacotes sabe que gvim "requer" e está impondo isso quando você tenta removê-lo.

Opção nº 2

Você pode substituir o gerenciador de pacotes e "forçar" a remoção se não souber que outros pacotes exigem isso.

Opção # 3

Uma terceira opção seria instalar o pacote Ruby e o RVM. Quando você configura o RVM, está sobrescrevendo seu $ PATH, portanto as versões do Ruby do RVM são o precedente, mesmo que você tenha o Ruby instalado como um pacote no sistema.

Assim, o Ruby do seu RVM deve ser aquele que gvim está usando de qualquer maneira.

Por exemplo:

$ echo $PATH
/home/saml/apps/perl5/perlbrew/bin:/home/saml/apps/perl5/perlbrew/perls/perl-5.14.0/bin:/home/saml/.rvm/gems/ruby-1.9.2-p180/bin:/home/saml/.rvm/gems/ruby-1.9.2-p180@global/bin:/home/saml/.rvm/rubies/ruby-1.9.2-p180/bin:/home/saml/.rvm/bin:/usr/lib64/qt-3.3/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/brlcad/bin:/home/saml/bin:/usr/brlcad/bin

$ which ruby
~/.rvm/rubies/ruby-1.9.2-p180/bin/ruby

Aqui você pode ver que quando ruby é invocado, minha versão do RVM é a escolhida. A menos que vim/gvim tenha o caminho para ruby codificado (eu duvido disso), então ele é vinculado pela mesma pesquisa através de seu $PATH , então ele encontrará o rubi RVM também.

    
por 16.07.2013 / 15:16
2

Você pode usar o ABS do Arch (Arch Build System) para reconfigurar o pacote gvim e remover a dependência do Ruby. O Arch Wiki tem uma página bastante detalhada sobre o ABS.

Uma vez feito isso, você provavelmente vai querer adicionar IgnorePkg = gvim ao seu arquivo /etc/pacman.conf para evitar que o pacman sobrescreva sua versão personalizada na próxima vez que você atualizar o sistema.

    
por 16.07.2013 / 15:35