![Ruby 바이너리를 설치하지 않고 gvim과 함께 RVM 사용](https://linux55.com/image/45024/Ruby%20%EB%B0%94%EC%9D%B4%EB%84%88%EB%A6%AC%EB%A5%BC%20%EC%84%A4%EC%B9%98%ED%95%98%EC%A7%80%20%EC%95%8A%EA%B3%A0%20gvim%EA%B3%BC%20%ED%95%A8%EA%BB%98%20RVM%20%EC%82%AC%EC%9A%A9.png)
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
세 번째 옵션은 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의 ABS(Arch Build System)를 사용하여 gvim 패키지를 재구성하고 Ruby 종속성을 제거할 수 있습니다. Arch Wiki에는 ABS에 대한 매우 자세한 페이지가 있습니다.
이 작업을 완료한 후에는 다음에 시스템을 업데이트할 때 팩맨이 사용자 정의 버전을 덮어쓰는 것을 방지하기 위해 파일 IgnorePkg = gvim
에 추가할 수 있습니다 ./etc/pacman.conf