" rvm不是一个功能"在ubuntu桌面上使用root用户

时间:2014-07-15 06:39:16

标签: ruby rvm

我能够让单用户安装对于给定的ubuntu用户正常工作。通过单用户安装,在安装rvm之后,只需在主文件夹中的.bash_profile中添加源代码,然后在Ubuntu桌面上,即可转到终端的编辑>个人资料首选项>标题和命令>将Command作为Login shell运行。现在你可以开始切换红宝石并添加宝石集了:

rvm list
rvm install 1.9.3
rvm use 1.9.3
rvm gemset create MyGemSet
rvm use 1.9.3@MyGemset
rvm gemdir
gem install passenger

然而。我正在使用带有生产服务器设置的Passenger,所以我更喜欢使用rvm系统范围的安装。所以我在系统范围内安装rvm和ruby:

sudo -i
curl -L https://get.rvm.io | bash -s stable --ruby
# echo '[[ -f "/usr/local/rvm/scripts/rvm" ]] && source "/usr/local/rvm/scripts/rvm"' >> ~/.bash_profile
# echo 'PATH=$PATH:/usr/local/rvm/bin' >> ~/.bashrc
# rvm list
rvm rubies

   ruby-1.9.3-p547 [ i686 ]
=* ruby-2.1.2 [ i686 ]

# rvm use 1.9.3

RVM is not a function, selecting rubies with 'rvm use ...' will not work.

You need to change your terminal emulator preferences to allow login shell.
Sometimes it is required to use `/bin/bash --login` as the command.
Please visit https://rvm.io/integration/gnome-terminal/ for a example.

我需要运行" rvm使用1.9.3"作为root是因为我想为1.9.3创建一个gemset,因为我使用的是系统范围的安装,所以我不能像普通用户那样做。错误说"您需要更改终端仿真器首选项以允许登录shell。"。但我在Ubuntu上并且默认情况下没有启用root用户,出于安全原因我也不想解锁root用户帐户。那么我们如何处理我们想要在Ubuntu桌面上进行系统范围安装的情况(在这种情况下我使用的是12.04)?

2 个答案:

答案 0 :(得分:2)

除了Santosh的答案(每次加载rvm),只需加载一次,你也可以试试:

source ~/.rvm/scripts/rvm

此外,如果您想在每次添加后自动加载,如Santosh所建议的,在您添加:

之后

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

到你的bashrc,你需要重新加载你的bashrc。这里:

source ~/.bashrc

答案 1 :(得分:1)

将此添加到您的.bashrc

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

如果rvm不在您的主文件夹中,您可以使用绝对路径

[[ -f "<path-to-rvm>/scripts/rvm" ]] && source "<path-to-rvm>/scripts/rvm"