rvm is not a function 에러 해결하기

Problem

저는 보통 글을 작성할 떄 맥북에서 진행합니다. 그래서 홈 서버에서는 직접 글을 작성할 일이 별로 없었는데, 디자인 좀 수정하기 위해서 서버에서 직접 작업하다 보니 jekyll serve 시 ruby 버전 관련 에러가 있었습니다. 요약하면 github pages gem은 2.x 버전만 지원하는데, 시스템 버전이 3.x 버전이라서 발생한 문제였고, 이를 rvm로 처리하고자 rvm use를 사용했더니 아래와 같은 에러가 발생했엇습니다.

rvm use 2.7.2
RVM is not a function, selecting rubies with 'rvm use ...' will not work.

Solution

해결 방법은 생각보다 심플합니다. ~/.rvm/bin 을 PATH에 등록해준 후 ~/.rvm/scripts/rvm을 source 명령으로 현재 shell에 반영해주시면 됩니다. 혹시라도 자꾸 풀린다면 bashrc , zshrc 등에 넣어서 사용하시는게 좋아 보이네요 :D

export PATH="$PATH:$HOME/.rvm/bin" ; source ~/.rvm/scripts/rvm

이제 type 명령으로 체크해보면 shell function으로 변경된 걸 확인할 수 있습니다. 그리고 당연히 rvm이 정상적으로 실행됩니다.

type rvm | head -n 1
rvm is a shell function from /home/devi/.rvm/scripts/cli
rvm use 2.7.2                                            
Using /home/devi/.rvm/gems/ruby-2.7.2

Refernces