
Arch Linuxでは、当然gvim
Rubyを依存関係としてインストールする必要があります。ただし、RVMを使用するためにバイナリRubyをインストールする必要はありません。
これで問題が発生しますか? Rubyをアンインストールし、インストールされているRVMバージョンのRubyを使用するようにgvimを設定できますか?
sudo を試みるとpacman -Rs ruby
エラーが出力されます。
error: failed to prepare transaction (could not satisfy dependencies)
:: gvim: requires ruby
どのようなヒントがありますか?
答え1
オプション1
gvim
この要件を削除するには、再コンパイルする必要があります。ビルド時に構成可能です。
私のブログに書いたこの記事では、Rubyサポートをコンパイルする方法を示しますが、簡単に削除することもできます。メモ:gvim
このドキュメントはFedora / RHEL用ですので、必要なステップのテンプレートではなく、必要に応じてRubyをサポートするかどうかにかかわらず再コンパイルする方法を説明します。
しかし、あなたが経験している問題は、パッケージマネージャがgvim
「requires」について知っていて、それを削除しようとしたときにそれを強制することです。
オプション#2
必要な他のパッケージがないことがわかっている場合は、パッケージマネージャを無視してアンインストールを「強制」できます。
オプション#3
3番目のオプションはRubyパッケージとRVMをインストールすることです。 RVMを設定すると$ PATHが上書きされるため、システムにRubyがパッケージとしてインストールされていても、RVMのRubyバージョンが優先されます。
したがって、RVMのRubyを使用する必要がありますgvim
。
たとえば、
$ 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
ruby
ここで、私のRVMバージョンが呼び出し時に選択されるバージョンであることを確認できます。vim/gvim
ハードコーディングされたパスがない限りruby
(疑わしい)、同じ検索バインディングを経るので、$PATH
RVM Rubyも探します。
答え2
ArchのArch Build System(ABS)を使用してgvimパッケージを再構成し、Rubyの依存関係を削除できます。 Arch WikiにはABSに関する非常に詳細なページがあります。
これを完了したら、次回システムを更新するときにパックマンがカスタムバージョンを上書きするのを防ぐためにファイルIgnorePkg = gvim
に追加できます。/etc/pacman.conf