多用户安装后“bash:rvm:command not found”

时间:2014-03-17 10:44:13

标签: ruby ubuntu rvm

我已按照如何在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

2 个答案:

答案 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。