“RVM is not a function” error

后端 未结 10 1792
爱一瞬间的悲伤
爱一瞬间的悲伤 2021-01-30 22:22

RVM is installed on my machine (running Mac OSX 10.6.8), correctly and it runs fine. The odd thing is that to run it, I have to use source ~/.rvm/scripts/rvm for ev

10条回答
  •  长发绾君心
    2021-01-30 22:36

    You have to source the RVM script into the current session because it makes changes to the shell environment - and it is absolutely impossible for that to be done from a child process. Your efforts at running RVM as an external command cannot succeed.

    To actually fix this you have two choices:

    1. Configure your terminal emulator to start a login shell, rather than a non-login shell, so that your .profile is loaded.
    2. Modify .bashrc to source RVM instead, which works for non-login shells as well.

    To do the second you can just add to ~/.bashrc:

    if test -f ~/.rvm/scripts/rvm; then
        [ "$(type -t rvm)" = "function" ] || source ~/.rvm/scripts/rvm
    fi
    

提交回复
热议问题