Back
Featured image of post rvm is not a function 에러 해결하기

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

Licensed under CC BY-NC-SA 4.0