rvm 安装后会在 $HOME/.bash_profile
文件追加一行代码:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
这行代码的作用是在用户登录会话时初始化 rvm。如果系统中原来没有 .bash_profile
这个文件,rvm 会自动创建这个文件,这就产生一个潜在的问题。
shell 启动时会按照一定的顺序自动加载一些脚本。默认情况下(没有.bash_profile
),shell 会加载 $HOME/.profile
这个文件。然而,如果 .bash_profile
存在的话,.profile
就不会被主动加载,除非 .bash_profile
有命令shell加载。.profile
没有加载的话,.bashrc
也不会被加载,因为后者是在前者的执行 source
命令加载的。由于很多人把个人配置项都写在 .profile
或 .bashrc
中,rvm 的做法就导致了很多个人配置就没有生效,如环境变量等。