Ruby 바이너리를 설치하지 않고 gvim과 함께 RVM 사용

Ruby 바이너리를 설치하지 않고 gvim과 함께 RVM 사용

Arch Linux에서는 당연히 gvimRuby를 종속성으로 설치해야 합니다. 그러나 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

세 번째 옵션은 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(의심스럽습니다), 동일한 검색 바인딩을 거치게 되므로 $PATHRVM Ruby도 찾습니다.

답변2

Arch의 ABS(Arch Build System)를 사용하여 gvim 패키지를 재구성하고 Ruby 종속성을 제거할 수 있습니다. Arch Wiki에는 ABS에 대한 매우 자세한 페이지가 있습니다.

이 작업을 완료한 후에는 다음에 시스템을 업데이트할 때 팩맨이 사용자 정의 버전을 덮어쓰는 것을 방지하기 위해 파일 IgnorePkg = gvim에 추가할 수 있습니다 ./etc/pacman.conf

관련 정보