我已按照如何在Ubuntu上进行多用户安装rvm的说明进行操作。我没有以root身份执行此操作。当我做“源/etc/profile.d/rvm.sh”然后我可以使用rvm。但是,如果我退出并再次登录并执行“rvm -v”,我会收到“bash:rvm:command not found”。我可以这样做,以便我不必写“source /etc/profile.d/rvm.sh”吗?
作为名为“user1”的非root用户,我做了:
# multi-user install
\curl -sSL https://get.rvm.io | sudo bash -s stable
# add user1 to rvm group
sudo adduser user1 rvm
source /etc/profile.d/rvm.sh
然后我退出shell并开始一个新的:
user1@72265e666e07:/$ rvm -v
bash: rvm: command not found
答案 0 :(得分:2)
查看此question的答案:
从您的问题描述看来,似乎需要rvm脚本 登录期间仅加载一次。据我所知,Ubuntu读到了 登录时
/etc/profile/
和~/.profile
(图形登录, 独立于bash)。这意味着,在注销并登录后 一次,rvm脚本应该是活动的。如果它仍然不起作用,那么 也许需要为每个bash会话加载rvm脚本。如果 在这种情况下,bashrc
是更合适的地方 脚本。
答案 1 :(得分:0)
我的问题是rvm不在我的任何bash init文件中。我认为应该在安装rvm时自动安装/配置,但显然不是! 我必须运行以下两个命令来为每个用户全局添加rvm初始化。
printf '\n\nif [ -s "$HOME/.rvm/scripts/rvm" ] ; then\n . "$HOME/.rvm/scripts/rvm"\nelif [ -s "/usr/local/rvm/scripts/rvm" ] ; then\n . "/usr/local/rvm/scripts/rvm"\nfi' >> /etc/profile
printf '\n\nif [ -s "$HOME/.rvm/scripts/rvm" ] ; then\n . "$HOME/.rvm/scripts/rvm"\nelif [ -s "/usr/local/rvm/scripts/rvm" ] ; then\n . "/usr/local/rvm/scripts/rvm"\nfi' >> /etc/bash.bashrc
运行这两个命令后,当我登录用户“user1”时,可以直接到达rvm。